This repository has been archived on 2024-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
nixos/flake.nix

140 lines
3.8 KiB
Nix
Raw Normal View History

{
description = "NixOS configuration (flake edition)";
inputs = {
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs = {
url = "github:numtide/nixpkgs-unfree";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
outputs =
{ self
, nixpkgs
, home-manager
, emacs-overlay
, agenix
, nixos-hardware
, ...
}:
let
common-modules = [
./cachix.nix
./modules/nix.nix
./modules/common.nix
];
in
{
nixosConfigurations = {
2022-04-15 12:28:13 +05:30
# The Workhorse
enterprise = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = common-modules ++ [
# Overlays
{ nixpkgs.overlays = [ emacs-overlay.overlay ]; }
# Modules and module config
./modules/fish.nix
./modules/plasma-desktop.nix
./modules/fonts.nix
./modules/users.nix
# Host-specific config
./hosts/enterprise/hw.nix
./hosts/enterprise/networking.nix
./hosts/enterprise/sound.nix
./hosts/enterprise/nvidia.nix
./hosts/enterprise/configuration.nix
# User-specific config : Home-manager
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
2022-05-29 21:51:30 +05:30
home-manager.useUserPackages = true;
home-manager.users.payas = import ./hosts/enterprise/home.nix;
}
];
};
# The (new) Workhorse
hermes = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = common-modules ++ [
# Overlays
{ nixpkgs.overlays = [ emacs-overlay.overlay ]; }
# Modules and module config
./modules/fish.nix
./modules/plasma-desktop.nix
./modules/fonts.nix
./modules/users.nix
# agenix.nixosModules.age
# ./modules/agenix.nix
# Host-specific config
./hosts/enterprise/hw.nix
./hosts/enterprise/networking.nix
./hosts/enterprise/sound.nix
# ./hosts/enterprise/backup.nix
# ./hosts/enterprise/syncthing.nix
# ./hosts/enterprise/nvidia.nix
./hosts/enterprise/configuration.nix
# User-specific config : Home-manager
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.payas = import ./hosts/enterprise/home.nix;
}
];
};
# My Pi
bebop = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = common-modules ++ [
# Modules and module config
./modules/fish.nix
./modules/monitoring/monitoring.nix
# Host-specific config
nixos-hardware.nixosModules.raspberry-pi-4
./hosts/bebop/configuration.nix
./hosts/bebop/syncthing.nix
./hosts/bebop/pihole.nix
# User-specific config : Home-manager
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.payas = import ./hosts/bebop/home.nix;
}
];
};
};
};
}