nixos-config/flake.nix

179 lines
5.5 KiB
Nix
Raw Normal View History

2022-12-18 17:01:34 +01:00
{
2023-05-01 21:05:49 +02:00
description = "My nix setup";
inputs = {
2023-01-22 14:09:16 +01:00
2024-05-13 14:22:08 +02:00
nixpkgs.url = "nixpkgs/nixos-unstable";
2023-05-01 12:30:21 +02:00
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
2023-03-05 10:48:43 +01:00
2023-06-12 12:58:21 +02:00
};
impermanence.url = "github:nix-community/impermanence";
2023-05-05 16:17:31 +02:00
home-manager = {
2024-04-17 22:04:08 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
dns = {
url = "github:nix-community/dns.nix";
inputs.nixpkgs.follows = "nixpkgs";
2023-03-05 10:48:43 +01:00
};
2023-05-05 16:17:31 +02:00
nix-colors.url = "github:Misterio77/nix-colors";
2024-05-20 12:19:05 +02:00
authentik = {
# branch to fix https://github.com/nix-community/authentik-nix/issues/24
url = "github:nix-community/authentik-nix/node-22";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-05-05 16:17:31 +02:00
2023-04-13 14:24:39 +02:00
purge = {
2024-04-10 00:33:10 +02:00
url = "sourcehut:~rouven/purge";
2023-04-13 14:24:39 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-05-29 13:31:20 +02:00
trucksimulatorbot = {
2024-04-10 00:33:10 +02:00
url = "sourcehut:~rouven/trucksimulator";
2023-04-16 16:56:24 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-09-12 11:09:32 +02:00
pfersel = {
2024-04-11 11:58:50 +02:00
url = "sourcehut:~rouven/pfersel";
2023-09-12 11:09:32 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-05-24 15:51:58 +02:00
2023-05-31 13:23:49 +02:00
lanzaboote = {
2023-06-23 10:44:24 +02:00
url = "github:nix-community/lanzaboote/v0.3.0";
2023-05-31 13:23:49 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2022-12-18 17:01:34 +01:00
};
2023-03-05 10:48:43 +01:00
outputs =
2023-05-01 21:05:49 +02:00
{ self
2023-05-01 19:59:25 +02:00
, nixpkgs
2023-03-05 10:48:43 +01:00
, home-manager
2024-04-17 22:04:08 +02:00
, dns
, nix-index-database
, agenix
2024-05-20 12:19:05 +02:00
, authentik
2023-05-20 13:20:05 +02:00
, impermanence
2023-03-05 10:48:43 +01:00
, nix-colors
2023-05-31 13:23:49 +02:00
, lanzaboote
2023-04-13 14:24:39 +02:00
, purge
2023-05-29 13:31:20 +02:00
, trucksimulatorbot
2023-09-12 11:09:32 +02:00
, pfersel
2023-03-05 10:48:43 +01:00
, ...
}@attrs: {
2023-06-03 21:42:12 +02:00
packages.x86_64-linux = {
iso = self.nixosConfigurations.iso.config.system.build.isoImage;
2024-01-05 12:03:53 +01:00
# thinkpad = self.nixosConfigurations.thinkpad.config.system.build.toplevel;
2023-06-03 21:42:12 +02:00
jmri = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/jmri { };
adguardian-term = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/adguardian-term { };
matrix-authentication-service = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/matrix-authentication-service { };
2023-06-03 21:42:12 +02:00
pww = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/pww { };
2023-07-27 23:25:08 +02:00
gnome-break-timer = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/gnome-break-timer { };
hashcash-milter = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/hashcash-milter { };
2023-12-17 17:27:20 +01:00
ianny = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ianny { };
2023-12-19 22:42:38 +01:00
ssh3 = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ssh3/client.nix { };
ssh3-server = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ssh3/server.nix { };
2023-06-03 21:42:12 +02:00
};
2023-05-06 22:22:05 +02:00
hydraJobs = self.packages;
2023-03-05 10:48:43 +01:00
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
2023-06-22 14:34:05 +02:00
overlays.default = import ./overlays;
2023-05-22 11:14:56 +02:00
nixosConfigurations = {
2023-03-05 10:48:43 +01:00
thinkpad = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
2023-04-06 22:31:45 +02:00
specialArgs = attrs;
2023-03-05 10:48:43 +01:00
modules = [
./hosts/thinkpad
2023-04-06 22:31:45 +02:00
./shared
2023-03-05 10:48:43 +01:00
./users/rouven
home-manager.nixosModules.home-manager
agenix.nixosModules.default
2023-04-21 20:03:23 +02:00
nix-index-database.nixosModules.nix-index
2023-05-20 13:20:05 +02:00
impermanence.nixosModules.impermanence
2023-05-31 13:23:49 +02:00
lanzaboote.nixosModules.lanzaboote
2023-03-05 10:48:43 +01:00
{
2023-06-22 14:34:05 +02:00
nixpkgs.overlays = [ self.overlays.default ];
2023-03-05 10:48:43 +01:00
home-manager.extraSpecialArgs = attrs;
home-manager.users.rouven = {
imports = [
nix-colors.homeManagerModules.default
];
};
}
];
};
nuc = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
2023-03-05 10:48:43 +01:00
modules = [
2023-04-14 11:38:08 +02:00
nix-index-database.nixosModules.nix-index
2023-05-30 20:36:52 +02:00
impermanence.nixosModules.impermanence
2023-11-16 15:08:13 +01:00
agenix.nixosModules.default
2024-05-20 12:19:05 +02:00
authentik.nixosModules.default
2023-03-05 10:48:43 +01:00
./hosts/nuc
2023-04-06 22:31:45 +02:00
./shared
2023-10-15 16:30:40 +02:00
{
nixpkgs.overlays = [ self.overlays.default ];
}
2023-03-05 10:48:43 +01:00
];
};
2024-05-15 11:01:15 +02:00
fujitsu = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
nix-index-database.nixosModules.nix-index
impermanence.nixosModules.impermanence
agenix.nixosModules.default
./hosts/fujitsu
./shared
{
nixpkgs.overlays = [ self.overlays.default ];
}
];
};
2023-11-20 22:46:51 +01:00
falkenstein = nixpkgs.lib.nixosSystem {
2023-04-12 17:21:24 +02:00
system = "x86_64-linux";
specialArgs = attrs;
2023-04-12 17:21:24 +02:00
modules = [
2023-11-20 22:46:51 +01:00
./hosts/falkenstein
2023-04-12 17:21:24 +02:00
./shared
2023-07-20 21:35:12 +02:00
{
nixpkgs.overlays = [ self.overlays.default ];
}
2023-04-14 11:38:08 +02:00
nix-index-database.nixosModules.nix-index
2023-11-16 15:08:13 +01:00
agenix.nixosModules.default
2023-04-13 14:24:39 +02:00
purge.nixosModules.default
2023-05-29 13:31:20 +02:00
trucksimulatorbot.nixosModules.default
2023-09-12 11:09:32 +02:00
pfersel.nixosModules.default
2023-04-12 17:21:24 +02:00
];
};
2023-05-01 12:30:21 +02:00
vm = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
2023-05-01 12:30:21 +02:00
modules = [
./hosts/vm
2024-05-13 14:09:56 +02:00
./shared/systemd.nix
2023-05-01 12:30:21 +02:00
];
};
2023-05-01 19:59:25 +02:00
iso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = attrs;
modules = [
./hosts/iso
./shared/vim.nix
2023-05-26 00:01:59 +02:00
./shared/tmux.nix
2024-04-12 20:50:04 +02:00
./shared/zsh.nix
nix-index-database.nixosModules.nix-index
2023-05-01 19:59:25 +02:00
];
};
2023-03-05 10:48:43 +01:00
};
};
2022-12-18 17:01:34 +01:00
}