nix/flake.nix

93 lines
2.3 KiB
Nix
Raw Normal View History

2024-06-05 20:52:52 +02:00
{
2024-11-08 18:23:40 +01:00
outputs = inputs @ {
2024-09-28 12:06:19 +02:00
self,
nixpkgs,
2024-11-17 18:31:53 +01:00
nixpkgs-stable,
2024-09-28 12:06:19 +02:00
nix-on-droid,
ags,
stylix,
home-manager,
2024-10-12 21:12:58 +02:00
sops-nix,
2024-09-28 12:06:19 +02:00
...
2024-11-08 18:23:40 +01:00
}: let
username = "joy";
domain = "joygnu.org";
2024-11-17 12:56:34 +01:00
mail = "mail@joygnu.org";
2024-11-23 15:30:03 +01:00
nixpath = "~/nix";
2024-11-17 18:31:53 +01:00
pkgs-stable = nixpkgs-stable.legacyPackages.x86_64-linux;
2024-11-11 18:49:02 +01:00
nixosconf = {modules}:
2024-08-21 09:02:49 +02:00
nixpkgs.lib.nixosSystem {
2024-11-08 18:23:40 +01:00
specialArgs = {
inherit inputs;
inherit username;
inherit domain;
inherit mail;
2024-11-09 16:24:20 +01:00
inherit nixpath;
2024-11-17 18:31:53 +01:00
inherit pkgs-stable;
2024-11-08 18:23:40 +01:00
};
2024-11-27 16:14:50 +01:00
modules = modules ++ [home-manager.nixosModules.default sops-nix.nixosModules.sops stylix.nixosModules.stylix];
2024-08-21 09:02:49 +02:00
};
2024-08-04 00:37:19 +02:00
in {
2024-09-22 13:42:52 +02:00
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
2024-11-17 18:31:53 +01:00
pkgs = import nixpkgs-stable {system = "aarch64-linux";};
2024-09-28 12:06:19 +02:00
modules = [./hosts/phone];
2024-11-13 08:13:48 +01:00
extraSpecialArgs = {
inherit inputs;
inherit username;
inherit domain;
inherit mail;
inherit nixpath;
2024-11-19 08:34:38 +01:00
inherit pkgs-stable;
2024-11-13 08:13:48 +01:00
};
2024-09-22 13:42:52 +02:00
};
2024-08-04 00:37:19 +02:00
nixosConfigurations = {
2024-11-11 18:49:02 +01:00
desktop = nixosconf {
2024-09-28 12:06:19 +02:00
modules = [./hosts/desktop];
2024-08-04 00:37:19 +02:00
};
2024-11-11 18:49:02 +01:00
laptop = nixosconf {
2024-09-28 12:06:19 +02:00
modules = [./hosts/laptop];
2024-08-04 00:37:19 +02:00
};
2024-11-11 18:49:02 +01:00
server = nixosconf {
2024-10-08 22:43:41 +02:00
modules = [./hosts/server];
};
2024-11-11 18:49:02 +01:00
iso = nixosconf {
2024-10-14 17:51:45 +02:00
modules = [./hosts/iso];
};
2024-06-05 20:52:52 +02:00
};
};
2024-11-13 08:13:48 +01:00
2024-10-04 15:19:23 +02:00
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-11-17 18:31:53 +01:00
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
2024-10-04 15:19:23 +02:00
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
2024-10-18 18:09:30 +02:00
url = "github:nix-community/home-manager";
2024-10-04 15:19:23 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
nix-on-droid = {
url = "github:nix-community/nix-on-droid/master";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-08 14:10:40 +02:00
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
ags = {
2024-11-16 20:08:49 +01:00
url = "github:Aylur/ags/v1";
2024-10-08 14:10:40 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-12 21:12:58 +02:00
sops = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-04 15:19:23 +02:00
};
2024-06-05 20:52:52 +02:00
}