75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
{
|
|
description = "My common nixos system";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
|
|
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
|
nix-vscode-extensions.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
|
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
musnix.url = "github:musnix/musnix";
|
|
musnix.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs =
|
|
inputs:
|
|
let
|
|
inherit (inputs.nixpkgs) lib;
|
|
|
|
mkNixosSystems = lib.mapAttrs (
|
|
name: modules:
|
|
lib.nixosSystem {
|
|
modules = [
|
|
inputs.musnix.nixosModules.musnix
|
|
]
|
|
++ modules
|
|
++ [
|
|
{
|
|
imports = [ (import "${inputs.home-manager}/nixos") ];
|
|
networking.hostName = name;
|
|
nixpkgs.overlays = [ inputs.nix-vscode-extensions.overlays.default ];
|
|
}
|
|
];
|
|
specialArgs = { inherit inputs; };
|
|
}
|
|
);
|
|
in
|
|
{
|
|
formatter.x86_64-linux =
|
|
inputs.treefmt-nix.lib.mkWrapper (import inputs.nixpkgs { system = "x86_64-linux"; })
|
|
{
|
|
projectRootFile = "flake.nix";
|
|
programs = {
|
|
nixfmt.enable = true;
|
|
black.enable = true;
|
|
};
|
|
|
|
settings.formatter.black.options = [
|
|
"--line-length"
|
|
"79"
|
|
];
|
|
};
|
|
|
|
nixosConfigurations = mkNixosSystems {
|
|
polysaa = [
|
|
./machines/polysaa
|
|
./profiles/graphical
|
|
];
|
|
mynspiron = [
|
|
./machines/mynspiron
|
|
./profiles/graphical
|
|
];
|
|
myssian = [
|
|
./machines/myssian
|
|
./profiles/graphical
|
|
];
|
|
};
|
|
};
|
|
}
|