2023-09-19 00:17:43 +00:00
|
|
|
{
|
2023-11-03 15:16:07 +00:00
|
|
|
description = "Guanran928's Flake";
|
|
|
|
|
2023-09-19 00:17:43 +00:00
|
|
|
inputs = {
|
2023-10-14 07:53:25 +00:00
|
|
|
# Flake inputs
|
|
|
|
## Nixpkgs
|
2023-09-19 00:17:43 +00:00
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2023-12-27 07:04:14 +00:00
|
|
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11";
|
2023-10-14 07:53:25 +00:00
|
|
|
|
|
|
|
## Flakes
|
2023-09-19 00:17:43 +00:00
|
|
|
berberman = {
|
|
|
|
url = "github:berberman/flakes";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-11-03 15:18:31 +00:00
|
|
|
inputs.nvfetcher.follows = "nvfetcher";
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
2023-10-15 00:51:56 +00:00
|
|
|
disko = {
|
|
|
|
url = "github:nix-community/disko";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-12-17 12:06:05 +00:00
|
|
|
flake-utils = {
|
|
|
|
url = "github:numtide/flake-utils";
|
|
|
|
inputs.systems.follows = "systems";
|
|
|
|
};
|
2023-09-19 00:17:43 +00:00
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
hyprland = {
|
|
|
|
url = "github:hyprwm/Hyprland";
|
2023-11-03 15:18:31 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.hyprland-protocols.follows = "hyprland-protocols";
|
2023-12-03 08:41:22 +00:00
|
|
|
inputs.systems.follows = "systems-linux";
|
2023-11-03 15:18:31 +00:00
|
|
|
inputs.wlroots.follows = "wlroots";
|
|
|
|
inputs.xdph.follows = "xdph";
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
2023-11-03 15:18:31 +00:00
|
|
|
hyprland-plugins = {
|
|
|
|
url = "github:hyprwm/hyprland-plugins";
|
|
|
|
inputs.hyprland.follows = "hyprland";
|
2023-10-15 00:51:56 +00:00
|
|
|
};
|
2023-12-16 08:32:13 +00:00
|
|
|
impermanence = {
|
|
|
|
url = "github:nix-community/impermanence";
|
|
|
|
};
|
2023-09-19 00:17:43 +00:00
|
|
|
lanzaboote = {
|
|
|
|
url = "github:nix-community/lanzaboote";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-11-03 15:18:31 +00:00
|
|
|
inputs.crane.follows = "crane";
|
|
|
|
inputs.flake-compat.follows = "flake-compat";
|
|
|
|
inputs.flake-parts.follows = "flake-parts";
|
|
|
|
inputs.flake-utils.follows = "flake-utils";
|
|
|
|
inputs.pre-commit-hooks-nix.follows = "pre-commit-hooks-nix";
|
|
|
|
inputs.rust-overlay.follows = "rust-overlay";
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
|
|
|
nix-darwin = {
|
|
|
|
url = "github:LnL7/nix-darwin";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-12-22 01:48:31 +00:00
|
|
|
nix-monitored = {
|
|
|
|
url = "github:ners/nix-monitored";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.nix-filter.follows = "nix-filter";
|
|
|
|
};
|
2023-12-16 08:32:13 +00:00
|
|
|
nixos-hardware = {
|
|
|
|
url = "github:NixOS/nixos-hardware";
|
|
|
|
};
|
2023-11-12 05:38:43 +00:00
|
|
|
nixpak = {
|
|
|
|
url = "github:nixpak/nixpak";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.flake-parts.follows = "flake-parts";
|
|
|
|
inputs.hercules-ci-effects.follows = "hercules-ci-effects";
|
|
|
|
};
|
|
|
|
nixpak-pkgs = {
|
|
|
|
url = "github:nixpak/pkgs";
|
|
|
|
inputs.nixpak.follows = "nixpak";
|
|
|
|
inputs.flake-parts.follows = "flake-parts";
|
|
|
|
inputs.hercules-ci-effects.follows = "hercules-ci-effects";
|
|
|
|
};
|
2023-10-15 00:51:56 +00:00
|
|
|
sops-nix = {
|
|
|
|
url = "github:Mic92/sops-nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-11-03 15:18:31 +00:00
|
|
|
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
|
|
|
|
};
|
2023-11-09 15:43:05 +00:00
|
|
|
spicetify-nix = {
|
|
|
|
url = "github:the-argus/spicetify-nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.flake-utils.follows = "flake-utils";
|
|
|
|
};
|
2023-12-03 08:41:22 +00:00
|
|
|
systems.url = "github:nix-systems/default";
|
|
|
|
systems-linux.url = "github:nix-systems/default-linux";
|
2023-11-03 15:18:31 +00:00
|
|
|
|
|
|
|
### De-dupe
|
|
|
|
crane = {
|
|
|
|
url = "github:ipetkov/crane";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
flake-compat = {
|
|
|
|
url = "github:edolstra/flake-compat";
|
|
|
|
};
|
|
|
|
flake-parts = {
|
|
|
|
url = "github:hercules-ci/flake-parts";
|
|
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
gitignore = {
|
|
|
|
url = "github:hercules-ci/gitignore.nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-11-12 05:38:43 +00:00
|
|
|
hercules-ci-effects = {
|
|
|
|
url = "github:hercules-ci/hercules-ci-effects";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.flake-parts.follows = "flake-parts";
|
|
|
|
};
|
2023-11-03 15:18:31 +00:00
|
|
|
hyprland-protocols = {
|
|
|
|
url = "github:hyprwm/hyprland-protocols";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-12-03 08:41:22 +00:00
|
|
|
inputs.systems.follows = "systems-linux";
|
2023-10-15 00:51:56 +00:00
|
|
|
};
|
2023-12-22 01:48:31 +00:00
|
|
|
nix-filter = {
|
|
|
|
url = "github:numtide/nix-filter";
|
|
|
|
};
|
2023-11-03 15:18:31 +00:00
|
|
|
nvfetcher = {
|
|
|
|
url = "github:berberman/nvfetcher";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.flake-compat.follows = "flake-compat";
|
|
|
|
inputs.flake-utils.follows = "flake-utils";
|
|
|
|
};
|
|
|
|
pre-commit-hooks-nix = {
|
|
|
|
url = "github:cachix/pre-commit-hooks.nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
|
|
|
|
inputs.flake-compat.follows = "flake-compat";
|
|
|
|
inputs.flake-utils.follows = "flake-utils";
|
|
|
|
inputs.gitignore.follows = "gitignore";
|
|
|
|
};
|
|
|
|
rust-overlay = {
|
|
|
|
url = "github:oxalica/rust-overlay";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.flake-utils.follows = "flake-utils";
|
|
|
|
};
|
|
|
|
wlroots = {
|
|
|
|
type = "gitlab";
|
|
|
|
host = "gitlab.freedesktop.org";
|
|
|
|
owner = "wlroots";
|
|
|
|
repo = "wlroots";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
xdph = {
|
|
|
|
url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.hyprland-protocols.follows = "hyprland-protocols";
|
2023-12-03 08:41:22 +00:00
|
|
|
inputs.systems.follows = "systems-linux";
|
2023-11-03 15:18:31 +00:00
|
|
|
};
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
|
|
|
|
2023-12-03 08:41:22 +00:00
|
|
|
outputs = inputs: let
|
2023-12-17 12:06:05 +00:00
|
|
|
inherit (inputs.flake-utils.lib) eachDefaultSystemMap;
|
2023-12-17 14:00:56 +00:00
|
|
|
|
|
|
|
mkNixOS = system: modules:
|
|
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
|
|
inherit system modules;
|
|
|
|
specialArgs = {inherit inputs;};
|
|
|
|
};
|
|
|
|
|
|
|
|
mkDarwin = system: modules:
|
2023-12-18 06:11:31 +00:00
|
|
|
inputs.nix-darwin.lib.darwinSystem {
|
2023-12-17 14:00:56 +00:00
|
|
|
inherit system modules;
|
|
|
|
specialArgs = {inherit inputs;};
|
|
|
|
};
|
2023-12-03 08:41:22 +00:00
|
|
|
in {
|
2023-12-17 12:06:05 +00:00
|
|
|
formatter = eachDefaultSystemMap (system: inputs.nixpkgs.legacyPackages.${system}.alejandra);
|
|
|
|
packages = eachDefaultSystemMap (system: import ./pkgs inputs.nixpkgs.legacyPackages.${system});
|
2023-12-15 18:40:41 +00:00
|
|
|
nixosModules.default = ./nixos/modules;
|
2023-11-04 10:06:51 +00:00
|
|
|
|
2023-10-15 00:51:56 +00:00
|
|
|
### NixOS
|
2023-09-19 00:17:43 +00:00
|
|
|
nixosConfigurations = {
|
2023-12-18 06:20:44 +00:00
|
|
|
"Aristotle" = mkNixOS "x86_64-linux" [./nixos/hosts/Aristotle];
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
|
|
|
|
2023-11-17 05:38:25 +00:00
|
|
|
### Darwin
|
2023-10-15 00:51:56 +00:00
|
|
|
darwinConfigurations = {
|
2023-12-18 06:20:44 +00:00
|
|
|
"Plato" = mkDarwin "x86_64-darwin" [./darwin/hosts/Plato];
|
2023-10-15 00:51:56 +00:00
|
|
|
};
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
|
|
|
}
|