289 lines
7 KiB
Nix
289 lines
7 KiB
Nix
{
|
|
description = "Unstable Flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
zen-browser,
|
|
...
|
|
}:
|
|
let
|
|
admin = "toph";
|
|
user = "toph";
|
|
ARM = "aarch64-linux"; # ARM systems
|
|
X86 = "x86_64-linux"; # x86_64 systems
|
|
lib = nixpkgs.lib;
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
caenus =
|
|
let
|
|
hostName = "caenus";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin hostName;
|
|
};
|
|
system = ARM;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
|
|
cloud =
|
|
let
|
|
hostName = "cloud";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin hostName;
|
|
};
|
|
system = X86;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
|
|
komodo =
|
|
let
|
|
hostName = "komodo";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin hostName;
|
|
};
|
|
system = X86;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
|
|
nix =
|
|
let
|
|
hostName = "nix";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin hostName;
|
|
};
|
|
system = X86;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
|
|
proxy =
|
|
let
|
|
hostName = "proxy";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin hostName;
|
|
};
|
|
system = X86;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
|
|
rune =
|
|
let
|
|
hostName = "rune";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin hostName;
|
|
};
|
|
system = X86;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
|
|
haze =
|
|
let
|
|
user = "cesar";
|
|
hostName = "haze";
|
|
default = ./. + "/host/${hostName}";
|
|
in
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit admin user hostName;
|
|
};
|
|
system = X86;
|
|
modules = [
|
|
./nix
|
|
default
|
|
];
|
|
};
|
|
};
|
|
|
|
homeConfigurations =
|
|
let
|
|
armPkgs = import nixpkgs {
|
|
system = ARM;
|
|
config.allowUnfree = true;
|
|
};
|
|
x86Pkgs = import nixpkgs {
|
|
system = X86;
|
|
config.allowUnfree = true;
|
|
# overlays = [ (import ./nixos/overlays) ];
|
|
};
|
|
in
|
|
{
|
|
"${admin}@caenus" =
|
|
let
|
|
hostName = "caenus";
|
|
pkgs = armPkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit admin user hostName;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"${admin}@cloud" =
|
|
let
|
|
hostName = "cloud";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit admin user hostName;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"${admin}@komodo" =
|
|
let
|
|
hostName = "komodo";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit admin user hostName;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"${admin}@nix" =
|
|
let
|
|
hostName = "nix";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit admin user hostName;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"${admin}@proxy" =
|
|
let
|
|
hostName = "proxy";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit admin user hostName;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"${admin}@rune" =
|
|
let
|
|
hostName = "rune";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
zen = zen-browser.packages."${X86}".beta;
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit
|
|
admin
|
|
user
|
|
hostName
|
|
zen
|
|
;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"${admin}@haze" =
|
|
let
|
|
user = "cesar";
|
|
hostName = "haze";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
zen = zen-browser.packages."${X86}".beta;
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit
|
|
admin
|
|
user
|
|
hostName
|
|
zen
|
|
;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
|
|
"cesar@haze" =
|
|
let
|
|
hostName = "haze";
|
|
pkgs = x86Pkgs;
|
|
home = ./. + "/host/${hostName}/home";
|
|
zen = zen-browser.packages."${X86}".beta;
|
|
in
|
|
home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
extraSpecialArgs = {
|
|
inherit
|
|
admin
|
|
user
|
|
hostName
|
|
zen
|
|
;
|
|
};
|
|
modules = [ home ];
|
|
};
|
|
};
|
|
};
|
|
}
|