nixos/flake.nix
Giulio De Pasquale 2ed81fcfe3 flake: Formatting
2022-11-22 13:05:53 +01:00

77 lines
2.1 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05";
nixos-unstable.url = "github:NixOS/nixpkgs/master";
home-manager = {
url = "github:rycee/home-manager/release-22.05";
inputs.nixpkgs.follows = "nixpkgs";
};
vim-extra-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins";
};
outputs =
inputs@{ self, nixpkgs, nixos-unstable, home-manager, vim-extra-plugins }:
let
x64System = "x86_64-linux";
darwinSystem = "aarch64-darwin";
wrapPkgsSystem = { system }:
import nixpkgs rec {
inherit system;
unstable = wrapUnstablePkgsSystem { inherit system; };
config.allowUnfree = true;
overlays = [
(final: prev: { inherit unstable; })
vim-extra-plugins.overlays.default
];
};
wrapUnstablePkgsSystem = { system }:
import nixos-unstable {
inherit system;
config.allowUnfree = true;
};
pkgsX64 = wrapPkgsSystem { system = x64System; };
unstableX64 = wrapUnstablePkgsSystem { system = x64System; };
utilsX64 = import ./lib {
inherit nixpkgs nixos-unstable home-manager;
pkgs = pkgsX64;
unstable = unstableX64;
system = x64System;
};
pkgsDarwin = wrapPkgsSystem { system = darwinSystem; };
unstableDarwin = wrapUnstablePkgsSystem { system = darwinSystem; };
utilsDarwin = import ./lib {
inherit nixpkgs nixos-unstable home-manager;
pkgs = pkgsDarwin;
unstable = unstableDarwin;
system = darwinSystem;
};
in
{
nixosConfigurations = {
architect = utilsX64.host.mkHost {
name = "architect";
users = [{
user = "giulio";
roles = [ ];
}];
};
gAluminum = utilsX64.host.mkHost {
name = "gAluminum";
users = [{
user = "giulio";
roles = [ "desktop" "ssh" "git" ];
}];
roles = [ "gnome" ];
};
proxy = utilsX64.host.mkHost {
name = "proxy";
users = [ ];
};
};
};
}