nix-config/flake.nix

85 lines
2.1 KiB
Nix

{
description = "Home Manager configuration of muhh";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
home-manager = {
# url = "github:nix-community/home-manager/release-23.11";
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0-rc1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
niri = {
url = "github:sodiboo/niri-flake";
};
};
outputs = {
self,
nixpkgs,
home-manager,
nixvim,
sops-nix,
stylix,
lix-module,
niri,
...
} @ inputs: let
inherit (self) outputs;
system = "x86_64-linux";
lib = nixpkgs.lib;
pkgs = nixpkgs.legacyPackages.${system};
in {
nixosConfigurations = {
cube = lib.nixosSystem {
inherit system;
modules = [
./hosts/cube.nix
lix-module.nixosModules.default
sops-nix.nixosModules.sops
niri.nixosModules.niri
];
};
muhhStar = lib.nixosSystem {
inherit system;
modules = [
inputs.sops-nix.nixosModules.sops
./hosts/muhhStar.nix
];
};
};
homeConfigurations = {
muhh = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
config.permittedInsecurePackages = [
"electron-25.9.0"
];
};
modules = [
inputs.nixvim.homeManagerModules.nixvim
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeManagerModules.stylix
inputs.niri.homeModules.niri
./home.nix
];
};
};
};
}