NixOS and Home Manager config
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}