{
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";
agenix = {
url = "github:ryantm/agenix";
outputs = { self, nixpkgs, home-manager, emacs-overlay, agenix, ... }: {
nixosConfigurations = {
enterprise = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Overlays
{ nixpkgs.overlays = [ emacs-overlay.overlay ]; }
# Common
./nix.nix
./cachix.nix
# Modules and module config
agenix.nixosModules.age
./modules/agenix.nix
# Host-specific config
./hosts/enterprise/sound.nix
./hosts/enterprise/fish.nix
./hosts/enterprise/backup.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;
}
];