2022-11-20 16:23:58 +01:00
|
|
|
{
|
2022-11-27 01:19:57 +01:00
|
|
|
description = "reo101's NixOS, nix-on-droid and nix-darwin configs";
|
2022-11-20 16:23:58 +01:00
|
|
|
|
|
|
|
inputs = {
|
|
|
|
# Nixpkgs
|
|
|
|
nixpkgs = {
|
|
|
|
url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
};
|
|
|
|
|
2023-12-31 17:56:34 +01:00
|
|
|
flake-parts = {
|
|
|
|
url = "github:hercules-ci/flake-parts";
|
2024-01-08 23:55:46 +01:00
|
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
2023-12-31 17:56:34 +01:00
|
|
|
};
|
|
|
|
|
2022-11-20 16:23:58 +01:00
|
|
|
# Nix on Droid
|
|
|
|
nix-on-droid = {
|
2024-05-04 21:39:09 +02:00
|
|
|
url = "github:t184256/nix-on-droid";
|
2022-12-04 20:55:48 +01:00
|
|
|
# url = "github:t184256/nix-on-droid/master";
|
2022-11-20 16:23:58 +01:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.home-manager.follows = "home-manager";
|
|
|
|
};
|
|
|
|
|
2022-11-22 22:36:10 +01:00
|
|
|
# Nix Darwin
|
|
|
|
nix-darwin = {
|
|
|
|
url = "github:lnl7/nix-darwin/master";
|
2024-05-26 11:41:24 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2022-11-22 22:36:10 +01:00
|
|
|
};
|
|
|
|
|
2023-11-17 14:58:59 +01:00
|
|
|
mac-app-util = {
|
|
|
|
url = "github:hraban/mac-app-util";
|
|
|
|
};
|
|
|
|
|
2022-11-20 16:23:58 +01:00
|
|
|
# Home Manager
|
|
|
|
home-manager = {
|
2024-05-04 21:39:09 +02:00
|
|
|
url = "github:nix-community/home-manager";
|
2022-11-20 16:23:58 +01:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-09-06 19:48:11 +02:00
|
|
|
flake-compat = {
|
|
|
|
url = "github:inclyc/flake-compat";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2023-12-26 00:15:53 +01:00
|
|
|
impermanence = {
|
|
|
|
url = "github:nix-community/impermanence";
|
|
|
|
};
|
|
|
|
|
2024-07-19 01:24:20 +02:00
|
|
|
nix-topology = {
|
|
|
|
url = "github:oddlama/nix-topology";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-12-26 00:15:53 +01:00
|
|
|
lib-net = {
|
|
|
|
url = "https://gist.github.com/duairc/5c9bb3c922e5d501a1edb9e7b3b845ba/archive/3885f7cd9ed0a746a9d675da6f265d41e9fd6704.tar.gz";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
|
2023-12-25 17:49:26 +01:00
|
|
|
nix-monitored = {
|
|
|
|
url = "github:ners/nix-monitored";
|
2024-06-01 15:07:36 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-12-25 17:49:26 +01:00
|
|
|
};
|
|
|
|
|
2023-10-16 20:42:10 +02:00
|
|
|
disko = {
|
|
|
|
url = "github:nix-community/disko";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2024-01-21 22:46:27 +01:00
|
|
|
jovian-nixos = {
|
|
|
|
url = "github:Jovian-Experiments/Jovian-NixOS";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-07-29 17:12:22 +02:00
|
|
|
deploy-rs = {
|
|
|
|
url = "github:serokell/deploy-rs";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-10-16 20:42:10 +02:00
|
|
|
agenix = {
|
|
|
|
url = "github:ryantm/agenix";
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
darwin.follows = "nix-darwin";
|
|
|
|
home-manager.follows = "home-manager";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-12-26 00:14:25 +01:00
|
|
|
ragenix = {
|
|
|
|
url = "github:yaxitech/ragenix";
|
|
|
|
inputs.agenix.follows = "agenix";
|
|
|
|
};
|
|
|
|
|
2023-12-25 14:17:30 +01:00
|
|
|
agenix-rekey = {
|
|
|
|
url = "github:oddlama/agenix-rekey";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-03-23 07:17:20 +01:00
|
|
|
# Nix User Repository
|
|
|
|
nur = {
|
|
|
|
url = "github:nix-community/NUR";
|
|
|
|
};
|
|
|
|
|
2023-11-17 15:07:23 +01:00
|
|
|
spicetify-nix = {
|
|
|
|
url = "github:the-argus/spicetify-nix";
|
|
|
|
};
|
|
|
|
|
2023-02-17 01:44:16 +01:00
|
|
|
hardware = {
|
|
|
|
url = "github:nixos/nixos-hardware";
|
|
|
|
};
|
2022-11-20 16:23:58 +01:00
|
|
|
|
2023-02-17 01:44:16 +01:00
|
|
|
nix-colors = {
|
|
|
|
url = "github:misterio77/nix-colors";
|
|
|
|
};
|
2022-11-20 16:23:58 +01:00
|
|
|
|
|
|
|
neovim-nightly-overlay = {
|
|
|
|
url = "github:nix-community/neovim-nightly-overlay";
|
2023-03-13 17:18:03 +01:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2022-11-20 16:23:58 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
zig-overlay = {
|
|
|
|
url = "github:mitchellh/zig-overlay";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2022-11-21 14:36:23 +01:00
|
|
|
|
|
|
|
zls-overlay = {
|
|
|
|
url = "github:zigtools/zls";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-07-13 13:33:01 +02:00
|
|
|
inputs.zig-overlay.follows = "zig-overlay";
|
2022-11-21 14:36:23 +01:00
|
|
|
};
|
2023-02-12 00:32:13 +01:00
|
|
|
|
|
|
|
wired = {
|
|
|
|
url = "github:Toqozz/wired-notify";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2022-11-20 16:23:58 +01:00
|
|
|
};
|
|
|
|
|
2024-07-19 01:24:20 +02:00
|
|
|
outputs = inputs: let
|
|
|
|
inherit (inputs) self;
|
|
|
|
inherit (self) outputs;
|
|
|
|
in
|
2023-12-31 17:56:34 +01:00
|
|
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } ({ withSystem, flake-parts-lib, ... }: {
|
|
|
|
systems = [
|
|
|
|
"aarch64-linux"
|
|
|
|
"i686-linux"
|
|
|
|
"x86_64-linux"
|
|
|
|
"aarch64-darwin"
|
|
|
|
"x86_64-darwin"
|
|
|
|
];
|
|
|
|
|
2024-07-19 00:06:58 +02:00
|
|
|
imports = [
|
|
|
|
inputs.agenix-rekey.flakeModule
|
2024-07-19 01:24:20 +02:00
|
|
|
inputs.nix-topology.flakeModule
|
|
|
|
] ++ [
|
2024-07-19 00:06:58 +02:00
|
|
|
./nix/machines.nix
|
|
|
|
./nix/modules.nix
|
|
|
|
./nix/configurations.nix
|
|
|
|
./nix/deploy.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
perSystem = { lib, pkgs, system, ... }: {
|
2024-06-01 15:07:36 +02:00
|
|
|
_module.args.pkgs = import inputs.nixpkgs {
|
|
|
|
inherit system;
|
2024-07-19 01:24:20 +02:00
|
|
|
overlays = lib.attrValues outputs.overlays ++ [
|
|
|
|
inputs.nix-topology.overlays.default
|
|
|
|
];
|
2024-06-01 15:07:36 +02:00
|
|
|
config = { };
|
|
|
|
};
|
|
|
|
|
2023-12-31 17:56:34 +01:00
|
|
|
# Packages (`nix build`)
|
|
|
|
packages = import ./pkgs { inherit pkgs; };
|
|
|
|
|
|
|
|
# Apps (`nix run`)
|
|
|
|
apps = import ./apps { inherit pkgs; };
|
|
|
|
|
|
|
|
# Dev Shells (`nix develop`)
|
|
|
|
devShells = import ./shells { inherit pkgs inputs outputs; };
|
|
|
|
|
|
|
|
# Formatter (`nix fmt`)
|
|
|
|
formatter = pkgs.nixpkgs-fmt;
|
2024-01-21 22:45:35 +01:00
|
|
|
|
2024-07-19 01:24:20 +02:00
|
|
|
topology = {
|
|
|
|
modules = [
|
|
|
|
];
|
|
|
|
nixosConfigurations = {
|
|
|
|
inherit (self.nixosConfigurations)
|
|
|
|
jeeves;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-07-19 00:06:58 +02:00
|
|
|
agenix-rekey = {
|
|
|
|
nodes = {
|
|
|
|
inherit (self.nixosConfigurations) jeeves;
|
|
|
|
};
|
|
|
|
};
|
2023-07-25 09:29:36 +02:00
|
|
|
};
|
2023-02-12 00:32:13 +01:00
|
|
|
|
2023-12-31 17:56:34 +01:00
|
|
|
flake = {
|
|
|
|
inherit self;
|
2022-11-27 01:12:21 +01:00
|
|
|
|
2023-12-31 17:56:34 +01:00
|
|
|
# Templates
|
|
|
|
templates = import ./templates {
|
|
|
|
inherit inputs outputs;
|
2023-12-25 14:17:30 +01:00
|
|
|
};
|
|
|
|
|
2023-12-31 17:56:34 +01:00
|
|
|
# Overlays
|
|
|
|
overlays = import ./overlays {
|
|
|
|
inherit inputs outputs;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
});
|
2022-11-20 16:23:58 +01:00
|
|
|
}
|