nixos-config/flake.nix

154 lines
4 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-03-05 10:48:43 +01:00
nixpkgs = {
2023-04-22 14:15:53 +02:00
url = "github:nixos/nixpkgs/nixos-unstable";
2023-03-05 10:48:43 +01:00
};
nixos-hardware = {
2023-04-22 14:15:53 +02:00
url = "github:nixos/nixos-hardware";
2023-03-05 10:48:43 +01:00
};
2023-01-22 14:09:16 +01:00
2023-03-05 10:48:43 +01:00
home-manager = {
2023-04-22 14:15:53 +02:00
url = "github:nix-community/home-manager";
2023-03-05 10:48:43 +01:00
inputs = {
nixpkgs.follows = "nixpkgs";
};
};
2022-12-18 17:01:34 +01:00
2023-05-01 12:30:21 +02:00
impermanence = {
url = "github:nix-community/impermanence";
};
nix-index-database = {
2023-04-22 14:15:53 +02:00
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-03-05 10:48:43 +01:00
nix-colors = {
2023-04-22 14:15:53 +02:00
url = "github:Misterio77/nix-colors";
2023-03-05 10:48:43 +01:00
};
sops-nix = {
2023-04-22 14:15:53 +02:00
url = "github:Mic92/sops-nix";
2023-03-05 10:48:43 +01:00
inputs.nixpkgs.follows = "nixpkgs";
};
xdph = {
2023-04-22 14:15:53 +02:00
url = "github:hyprwm/xdg-desktop-portal-hyprland";
2023-04-27 10:11:39 +02:00
inputs = {
nixpkgs.follows = "nixpkgs";
};
2023-03-05 10:48:43 +01:00
};
hyprland = {
2023-04-24 10:57:32 +02:00
url = "github:hyprwm/Hyprland/";
2023-03-05 10:48:43 +01:00
inputs = {
xdph.follows = "xdph";
2022-12-18 17:01:34 +01:00
};
2023-03-05 10:48:43 +01:00
};
hyprpaper = {
2023-04-22 14:15:53 +02:00
url = "github:hyprwm/hyprpaper";
2023-03-05 10:48:43 +01:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-04-13 14:24:39 +02:00
purge = {
2023-04-22 14:15:53 +02:00
url = "github:therealr5/purge";
2023-04-13 14:24:39 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-04-16 16:56:24 +02:00
trucksimulatorbot-images = {
2023-04-22 14:15:53 +02:00
url = "github:therealr5/trucksimulatorbot-images";
2023-04-16 16:56:24 +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
, nix-index-database
2023-05-01 12:30:21 +02:00
, impermanence
2023-03-05 10:48:43 +01:00
, hyprland
, sops-nix
, nix-colors
, nixos-hardware
2023-04-13 14:24:39 +02:00
, purge
2023-04-16 16:56:24 +02:00
, trucksimulatorbot-images
2023-03-05 10:48:43 +01:00
, ...
}@attrs: {
2023-05-01 19:59:25 +02:00
packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
2023-05-03 16:22:42 +02:00
packages.x86_64-linux.jmri = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/jmri { };
hydraJobs.x86_64-linux = self.packages.x86_64-linux;
2023-03-05 10:48:43 +01:00
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
nixosConfigurations = {
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
nixos-hardware.nixosModules.common-pc-laptop-ssd
home-manager.nixosModules.home-manager
sops-nix.nixosModules.sops
2023-04-21 20:03:23 +02:00
nix-index-database.nixosModules.nix-index
2023-03-05 10:48:43 +01:00
{
home-manager.extraSpecialArgs = attrs;
home-manager.users.rouven = {
imports = [
nix-colors.homeManagerModules.default
hyprland.homeManagerModules.default
sops-nix.homeManagerModules.sops
nix-index-database.hmModules.nix-index
2023-03-05 10:48:43 +01:00
];
};
}
];
};
nuc = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = attrs;
modules = [
nixos-hardware.nixosModules.intel-nuc-8i7beh
2023-04-14 11:38:08 +02:00
nix-index-database.nixosModules.nix-index
2023-03-05 10:48:43 +01:00
./hosts/nuc
2023-04-06 22:31:45 +02:00
./shared
2023-03-05 10:48:43 +01:00
sops-nix.nixosModules.sops
];
};
2023-04-12 17:21:24 +02:00
falkenstein-1 = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = attrs;
modules = [
./hosts/falkenstein-1
./shared
2023-04-14 11:38:08 +02:00
nix-index-database.nixosModules.nix-index
2023-04-12 17:21:24 +02:00
sops-nix.nixosModules.sops
2023-04-13 14:24:39 +02:00
purge.nixosModules.default
2023-04-16 16:56:24 +02:00
trucksimulatorbot-images.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.inputs = attrs;
modules = [
./hosts/vm
./shared
impermanence.nixosModules.impermanence
sops-nix.nixosModules.sops
];
};
2023-05-01 19:59:25 +02:00
iso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs.inputs = attrs;
modules = [
./hosts/iso
./shared/caches.nix
./shared/vim.nix
];
};
2023-03-05 10:48:43 +01:00
};
};
2022-12-18 17:01:34 +01:00
}