Nix configurations for my homelab
0

Configure Feed

Select the types of activity you want to include in your feed.

1{ 2 inputs = { 3 nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable-small"; 4 nixpkgs-stable.url = "github:NixOS/nixpkgs?ref=nixos-25.05-small"; 5 nixpkgs-unstable.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; 6 7 impermanence.url = "github:nix-community/impermanence"; 8 sops-nix.url = "github:Mic92/sops-nix"; 9 10 yemou-dotfiles = { 11 url = "git+https://tangled.org/did:plc:c6qso2k5s2quybbinxtkbskq"; 12 flake = false; 13 }; 14 15 yemou-scripts = { 16 url = "git+https://tangled.org/did:plc:jqjbwsvh6dn6qinef67niuze"; 17 inputs.nixpkgs.follows = "nixpkgs"; 18 }; 19 20 home-manager = { 21 url = "github:nix-community/home-manager"; 22 inputs.nixpkgs.follows = "nixpkgs"; 23 }; 24 25 nix-minecraft.url = "github:Infinidoge/nix-minecraft"; 26 roc-lang.url = "github:roc-lang/roc"; 27 tangled.url = "git+https://tangled.org/did:plc:j5hmlfdrwkvtxm7cjmu7j2is?ref=refs/tags/v1.14.1-alpha"; 28 }; 29 30 outputs = 31 { 32 self, 33 nixpkgs, 34 impermanence, 35 sops-nix, 36 home-manager, 37 ... 38 }@inputs: 39 let 40 genSystemConfigs = nixpkgs.lib.genAttrs [ 41 "lily" 42 "lutea" 43 ]; 44 systems = [ "x86_64-linux" ]; 45 forSystems = func: nixpkgs.lib.genAttrs systems (system: func (import nixpkgs { inherit system; })); 46 in 47 { 48 formatter = forSystems (p: p.nixfmt-tree.override { settings.formatter.nixfmt.options = [ "-w 120" ]; }); 49 nixosConfigurations = genSystemConfigs ( 50 hostname: 51 nixpkgs.lib.nixosSystem { 52 specialArgs = inputs; 53 modules = [ 54 impermanence.nixosModules.impermanence 55 ./${hostname}/config.nix 56 sops-nix.nixosModules.sops 57 home-manager.nixosModules.home-manager 58 { 59 home-manager = { 60 extraSpecialArgs = inputs; 61 useGlobalPkgs = true; 62 useUserPackages = true; 63 users.mou = import ./${hostname}/home.nix; 64 }; 65 } 66 ]; 67 } 68 ); 69 }; 70}