nix-config/flake.nix

148 lines
3.5 KiB
Nix
Raw Normal View History

2022-09-26 21:28:35 +01:00
{
2023-07-30 23:01:46 +01:00
inputs = {
2024-12-09 22:35:34 +00:00
agenix.url = "github:ryantm/agenix";
disko = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/disko";
};
2025-04-23 17:28:26 +01:00
home-manager = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/home-manager/master";
};
2025-03-08 21:00:55 +00:00
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
2025-04-23 17:28:26 +01:00
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
2025-04-23 17:28:26 +01:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
2025-02-13 22:53:24 +00:00
nur.url = "github:nix-community/NUR";
2023-07-30 23:01:46 +01:00
};
2022-09-26 21:28:35 +01:00
outputs =
2025-04-03 22:43:12 +01:00
{
agenix,
disko,
nixos-hardware,
nixpkgs,
self,
...
}@inputs:
2024-03-18 20:33:28 +00:00
let
inherit (self) outputs;
system = "x86_64-linux";
2025-01-29 01:15:42 +00:00
pkgs = import nixpkgs { inherit system; };
2024-03-18 20:33:28 +00:00
username = "opdavies";
Refactor NixOS and Home Manager modules This makes them more modular and configurable by allowing features to be enabled per-host. Squashed commit of the following: commit e9896d6166125de7aa26ddc63dac3adb196e8c23 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 23:06:23 2024 +0000 Use mkMerge To ensure features isn't overridden and values aren't lost accidentally commit c9c8ff5d059f08ade3aee9bb4e25bd51d4817a6d Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:56:38 2024 +0000 Move NixOS module imports commit 4a85bbac9dfa8f06825f6b1fee45ef27befa16d3 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:39:54 2024 +0000 Move Home Manager module imports commit 6d7a1b0aac68ccc8649fa2d8cd6e8b17ecebb4f0 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 21:15:54 2024 +0000 Add host-specific Home Manager configurations commit b32da2fbf7498c9684d8289be0f02800994e9110 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Start to parameterise Home Manager modules commit e80e89b415849cc4c6051a07b70587ac98724e2c Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Rename wsl commands to home-manager commit 6d82ed73da3c104fb25117fb843c3f3b5d833180 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Refactor NixOS Home Manager configuration commit cc5cbf5ac1a407a456d7258dd65a78ba3128a88f Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:05:00 2024 +0000 Refactor WSL Home Manager configuration commit deaf664a0997871b6f2bb0a8f97d638a91cb10bc Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:04:00 2024 +0000 Refactor lemp11 configuration
2024-11-26 08:13:46 +00:00
specialArgs = {
inherit
inputs
outputs
self
Refactor NixOS and Home Manager modules This makes them more modular and configurable by allowing features to be enabled per-host. Squashed commit of the following: commit e9896d6166125de7aa26ddc63dac3adb196e8c23 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 23:06:23 2024 +0000 Use mkMerge To ensure features isn't overridden and values aren't lost accidentally commit c9c8ff5d059f08ade3aee9bb4e25bd51d4817a6d Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:56:38 2024 +0000 Move NixOS module imports commit 4a85bbac9dfa8f06825f6b1fee45ef27befa16d3 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:39:54 2024 +0000 Move Home Manager module imports commit 6d7a1b0aac68ccc8649fa2d8cd6e8b17ecebb4f0 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 21:15:54 2024 +0000 Add host-specific Home Manager configurations commit b32da2fbf7498c9684d8289be0f02800994e9110 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Start to parameterise Home Manager modules commit e80e89b415849cc4c6051a07b70587ac98724e2c Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Rename wsl commands to home-manager commit 6d82ed73da3c104fb25117fb843c3f3b5d833180 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Refactor NixOS Home Manager configuration commit cc5cbf5ac1a407a456d7258dd65a78ba3128a88f Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:05:00 2024 +0000 Refactor WSL Home Manager configuration commit deaf664a0997871b6f2bb0a8f97d638a91cb10bc Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:04:00 2024 +0000 Refactor lemp11 configuration
2024-11-26 08:13:46 +00:00
system
username
;
};
2024-02-24 10:21:53 +00:00
2024-05-06 14:36:44 +01:00
inherit (pkgs) mkShell;
in
{
packages.${system} = {
2025-04-06 22:57:46 +01:00
default = mkShell { buildInputs = with pkgs; [ just ]; };
};
2024-03-18 20:33:28 +00:00
formatter.${system} = pkgs.nixfmt-rfc-style;
overlays = import ./overlays { inherit inputs; };
homeManagerModules.default = import ./modules/home-manager;
nixosModules.default = import ./modules/nixos;
nixosConfigurations = {
Refactor NixOS and Home Manager modules This makes them more modular and configurable by allowing features to be enabled per-host. Squashed commit of the following: commit e9896d6166125de7aa26ddc63dac3adb196e8c23 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 23:06:23 2024 +0000 Use mkMerge To ensure features isn't overridden and values aren't lost accidentally commit c9c8ff5d059f08ade3aee9bb4e25bd51d4817a6d Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:56:38 2024 +0000 Move NixOS module imports commit 4a85bbac9dfa8f06825f6b1fee45ef27befa16d3 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:39:54 2024 +0000 Move Home Manager module imports commit 6d7a1b0aac68ccc8649fa2d8cd6e8b17ecebb4f0 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 21:15:54 2024 +0000 Add host-specific Home Manager configurations commit b32da2fbf7498c9684d8289be0f02800994e9110 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Start to parameterise Home Manager modules commit e80e89b415849cc4c6051a07b70587ac98724e2c Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Rename wsl commands to home-manager commit 6d82ed73da3c104fb25117fb843c3f3b5d833180 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Refactor NixOS Home Manager configuration commit cc5cbf5ac1a407a456d7258dd65a78ba3128a88f Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:05:00 2024 +0000 Refactor WSL Home Manager configuration commit deaf664a0997871b6f2bb0a8f97d638a91cb10bc Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:04:00 2024 +0000 Refactor lemp11 configuration
2024-11-26 08:13:46 +00:00
lemp11 = nixpkgs.lib.nixosSystem {
specialArgs = specialArgs // {
hostname = "lemp11";
stateVersion = "22.11";
Refactor NixOS and Home Manager modules This makes them more modular and configurable by allowing features to be enabled per-host. Squashed commit of the following: commit e9896d6166125de7aa26ddc63dac3adb196e8c23 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 23:06:23 2024 +0000 Use mkMerge To ensure features isn't overridden and values aren't lost accidentally commit c9c8ff5d059f08ade3aee9bb4e25bd51d4817a6d Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:56:38 2024 +0000 Move NixOS module imports commit 4a85bbac9dfa8f06825f6b1fee45ef27befa16d3 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 22:39:54 2024 +0000 Move Home Manager module imports commit 6d7a1b0aac68ccc8649fa2d8cd6e8b17ecebb4f0 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 21:15:54 2024 +0000 Add host-specific Home Manager configurations commit b32da2fbf7498c9684d8289be0f02800994e9110 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Start to parameterise Home Manager modules commit e80e89b415849cc4c6051a07b70587ac98724e2c Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Rename wsl commands to home-manager commit 6d82ed73da3c104fb25117fb843c3f3b5d833180 Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 18:00:00 2024 +0000 Refactor NixOS Home Manager configuration commit cc5cbf5ac1a407a456d7258dd65a78ba3128a88f Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:05:00 2024 +0000 Refactor WSL Home Manager configuration commit deaf664a0997871b6f2bb0a8f97d638a91cb10bc Author: Oliver Davies <oliver@oliverdavies.dev> Date: Mon Nov 25 08:04:00 2024 +0000 Refactor lemp11 configuration
2024-11-26 08:13:46 +00:00
};
2024-11-22 01:18:31 +00:00
2024-12-23 06:50:56 +00:00
modules = [
2025-04-03 22:43:12 +01:00
agenix.nixosModules.default
nixos-hardware.nixosModules.common-cpu-intel
nixos-hardware.nixosModules.common-gpu-intel
nixos-hardware.nixosModules.common-pc-laptop
nixos-hardware.nixosModules.common-pc-laptop-hdd
nixos-hardware.nixosModules.system76
2024-12-23 06:50:56 +00:00
./hosts/lemp11/configuration.nix
2024-12-23 06:50:56 +00:00
];
};
2024-12-28 09:26:54 +00:00
nixedo = nixpkgs.lib.nixosSystem {
specialArgs = specialArgs // {
hostname = "nixedo";
stateVersion = "24.11";
2024-12-28 09:26:54 +00:00
};
modules = [
2025-04-03 22:43:12 +01:00
agenix.nixosModules.default
2024-12-28 09:26:54 +00:00
./hosts/nixedo/configuration.nix
2024-12-28 09:26:54 +00:00
];
};
2025-03-21 15:01:39 +00:00
t480 = nixpkgs.lib.nixosSystem {
specialArgs = specialArgs // {
hostname = "t480";
stateVersion = "22.11";
};
modules = [
2025-04-03 22:43:12 +01:00
agenix.nixosModules.default
nixos-hardware.nixosModules.common-gpu-intel
nixos-hardware.nixosModules.lenovo-thinkpad-t480
2025-03-21 15:01:39 +00:00
./hosts/t480/configuration.nix
2025-03-21 15:01:39 +00:00
];
};
2024-12-19 00:57:38 +00:00
t490 = nixpkgs.lib.nixosSystem {
specialArgs = specialArgs // {
hostname = "t490";
stateVersion = "22.11";
2024-12-19 00:57:38 +00:00
};
modules = [
2025-04-03 22:43:12 +01:00
agenix.nixosModules.default
nixos-hardware.nixosModules.common-gpu-intel
nixos-hardware.nixosModules.lenovo-thinkpad-t490
2024-12-23 06:50:56 +00:00
./hosts/t490/configuration.nix
2024-12-19 00:57:38 +00:00
];
};
PW05CH3L = nixpkgs.lib.nixosSystem {
2024-12-23 00:28:59 +00:00
inherit system;
specialArgs = specialArgs // {
hostname = "PW05CH3L";
stateVersion = "22.11";
2024-12-23 00:28:59 +00:00
};
modules = [
2025-04-03 22:43:12 +01:00
agenix.nixosModules.default
disko.nixosModules.disko
2025-04-01 23:23:59 +01:00
inputs.nixos-wsl.nixosModules.default
./hosts/PW05CH3L/configuration.nix
];
};
};
2022-09-26 21:28:35 +01:00
};
}