nixos/flake.nix

91 lines
2.6 KiB
Nix
Raw Normal View History

2021-07-13 09:53:22 +01:00
{
inputs = {
2022-12-01 13:28:10 +00:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
2022-07-06 19:34:12 +01:00
nixos-unstable.url = "github:NixOS/nixpkgs/master";
2021-07-13 09:53:22 +01:00
home-manager = {
url = "github:nix-community/home-manager/release-22.11";
2021-07-13 09:53:22 +01:00
inputs.nixpkgs.follows = "nixpkgs";
2021-11-25 11:42:32 +00:00
};
2021-07-13 09:53:22 +01:00
};
2021-10-13 13:29:07 +01:00
2022-10-13 17:08:08 +01:00
outputs =
inputs@{ self, nixpkgs, nixos-unstable, home-manager }:
2021-11-25 11:42:32 +00:00
let
2023-02-06 22:30:35 +00:00
sysLinuxX86 = "x86_64-linux";
sysDarwinAarch = "aarch64-darwin";
2023-02-06 22:33:36 +00:00
sysLinuxAarch = "aarch-linux";
2021-10-13 13:29:07 +01:00
2022-10-13 18:05:31 +01:00
wrapPkgsSystem = { system }:
import nixpkgs rec {
inherit system;
unstable = wrapUnstablePkgsSystem { inherit system; };
config.allowUnfree = true;
overlays = [
(final: prev: { inherit unstable; })
];
};
2021-10-13 13:29:07 +01:00
2022-10-13 18:05:31 +01:00
wrapUnstablePkgsSystem = { system }:
import nixos-unstable {
inherit system;
config.allowUnfree = true;
};
2021-10-13 13:29:07 +01:00
2023-02-06 22:33:36 +00:00
pkgsLinuxX64 = wrapPkgsSystem { system = sysLinuxX86; };
unstableLinuxX64 = wrapUnstablePkgsSystem { system = sysLinuxX86; };
utilsLinuxX64 = import ./lib {
2022-10-13 18:05:31 +01:00
inherit nixpkgs nixos-unstable home-manager;
2023-02-06 22:33:36 +00:00
pkgs = pkgsLinuxX64;
unstable = unstableLinuxX64;
2023-02-06 22:30:35 +00:00
system = sysLinuxX86;
2022-10-13 18:05:31 +01:00
};
2023-02-06 22:33:36 +00:00
pkgsLinuxAarch = wrapPkgsSystem { system = sysLinuxAarch; };
unstableLinuxAarch = wrapUnstablePkgsSystem { system = sysLinuxAarch; };
utilsLinuxAarch = import ./lib {
inherit nixpkgs nixos-unstable home-manager;
pkgs = pkgsLinuxAarch;
unstable = unstableLinuxAarch;
system = sysLinuxAarch;
};
2023-02-06 22:30:35 +00:00
pkgsDarwin = wrapPkgsSystem { system = sysDarwinAarch; };
unstableDarwin = wrapUnstablePkgsSystem { system = sysDarwinAarch; };
utilsDarwin = import ./lib {
inherit nixpkgs nixos-unstable home-manager;
pkgs = pkgsDarwin;
unstable = unstableDarwin;
2023-02-06 22:30:35 +00:00
system = sysDarwinAarch;
};
2022-11-22 12:05:53 +00:00
in
{
2021-11-25 11:42:32 +00:00
nixosConfigurations = {
2023-02-06 22:33:36 +00:00
architect = utilsLinuxX64.host.mkHost {
2021-11-25 11:42:32 +00:00
name = "architect";
2021-11-25 11:47:13 +00:00
users = [{
user = "giulio";
roles = [ ];
}];
2021-11-25 11:42:32 +00:00
};
2023-02-06 22:33:36 +00:00
gAluminum = utilsLinuxX64.host.mkHost {
2021-11-25 11:42:32 +00:00
name = "gAluminum";
users = [{
user = "giulio";
roles = [ "desktop" "ssh" "git" ];
}];
roles = [ "gnome" ];
};
};
2023-02-06 22:30:35 +00:00
homeConfigurations = {
giulioMac = utilsDarwin.user.mkHMUser {
name = "giulio";
roles = [ "ssh" ];
};
2023-02-06 22:33:36 +00:00
giulioAarch = utilsLinuxAarch.user.mkHMUser {
name = "giulio";
roles = [ "ssh" ];
};
2022-10-14 13:17:50 +01:00
};
2021-08-23 12:25:36 +01:00
};
2021-07-13 09:53:22 +01:00
}