1{
2 description = "Cyclamen: Nel's NixOS and Home Manager nix flake";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
6 home-manager = {
7 url = "github:nix-community/home-manager/master";
8 inputs.nixpkgs.follows = "nixpkgs";
9 };
10 };
11
12 outputs = {
13 nixpkgs,
14 home-manager,
15 ...
16 } @ inputs: let
17 lib = nixpkgs.lib;
18 forAllSystems = function:
19 lib.genAttrs lib.systems.flakeExposed (
20 system: (function system nixpkgs.legacyPackages.${system})
21 );
22 in {
23 homeConfigurations."nel" = home-manager.lib.homeManagerConfiguration {
24 pkgs = nixpkgs.legacyPackages."x86_64-linux";
25 extraSpecialArgs = { inherit inputs; };
26 modules = [ ./homes/nel/default.nix ];
27 };
28
29 nixosConfigurations."nel-desktop" = nixpkgs.lib.nixosSystem {
30 specialArgs = { inherit inputs; };
31 modules = [ ./systems/nel-desktop/configuration.nix ];
32 };
33
34 devShells = forAllSystems (system: pkgs: {
35 rust = (pkgs.callPackage ./templates/rust/shell.nix { });
36 });
37
38 templates = {
39 rust = {
40 path = ./templates/rust;
41 description = "Basic rust project with nix";
42 };
43 };
44 };
45}