System/flake.nix

75 lines
2.1 KiB
Nix
Raw Normal View History

2024-11-26 08:01:03 +00:00
{
description = "Description for the project";
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
2024-11-27 23:59:57 +00:00
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-11-26 08:01:03 +00:00
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
2024-11-26 09:30:55 +00:00
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-11-28 02:25:07 +00:00
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
devshell.url = "github:numtide/devshell";
2025-01-08 20:33:11 -05:00
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
};
2024-11-26 08:01:03 +00:00
};
2025-01-13 14:53:42 -05:00
outputs = inputs @ {
flake-parts,
self,
...
}:
flake-parts.lib.mkFlake {inherit inputs;} {
2024-11-26 08:01:03 +00:00
imports = [
inputs.devshell.flakeModule
2024-11-26 08:01:03 +00:00
./nixos/machines/wsl/configuration.nix
2025-01-08 20:47:52 -05:00
./nixos/machines/installer/configuration.nix
2025-01-09 08:49:22 -05:00
./nixos/machines/crash/machine.nix
2025-02-12 01:49:06 -05:00
./nixos/machines/tides/machine.nix
2024-11-28 02:25:07 +00:00
./home-manager/machines/wsl/home.nix
2025-01-09 08:49:22 -05:00
./home-manager/machines/crash/home.nix
./devshells/rust.nix
2024-11-30 09:39:53 +00:00
./devshells/idris2.nix
2024-12-18 07:10:43 +00:00
./devshells/raku.nix
2025-01-13 14:56:21 -05:00
./devshells/markdown.nix
2024-11-26 08:01:03 +00:00
];
2025-01-09 08:49:22 -05:00
config = {
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
2025-01-13 14:53:42 -05:00
perSystem = {
config,
self',
inputs',
pkgs,
system,
...
}: {
# Per-system attributes can be defined here. The self' and inputs'
# module parameters provide easy access to attributes of the same
# system.
2025-01-09 08:49:22 -05:00
2025-01-13 14:53:42 -05:00
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
packages.default = pkgs.hello;
};
2025-01-09 08:49:22 -05:00
};
options = with inputs.nixpkgs.lib; {
flake = flake-parts.lib.mkSubmoduleOptions {
homeConfigurations = mkOption {
type = types.lazyAttrsOf types.raw;
2025-01-13 14:53:42 -05:00
default = {};
2025-01-09 08:49:22 -05:00
};
2024-11-26 08:01:03 +00:00
};
2025-01-09 08:49:22 -05:00
};
2024-11-26 08:01:03 +00:00
};
}