2020-11-03 15:41:12 +05:30
|
|
|
{
|
2022-03-27 22:41:51 +05:30
|
|
|
description = "NixOS configuration (flake edition)";
|
2020-11-03 15:41:12 +05:30
|
|
|
|
2021-07-20 16:51:32 +05:30
|
|
|
inputs = {
|
2022-03-29 22:11:51 +05:30
|
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
nixpkgs = {
|
|
|
|
url = "github:numtide/nixpkgs-unfree";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
};
|
2021-07-20 16:51:32 +05:30
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2021-10-29 16:25:07 +05:30
|
|
|
emacs-overlay = {
|
2021-11-24 13:51:35 +05:30
|
|
|
url = "github:nix-community/emacs-overlay";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2021-10-29 16:25:07 +05:30
|
|
|
};
|
2022-02-22 03:01:29 +05:30
|
|
|
agenix = {
|
|
|
|
url = "github:ryantm/agenix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2022-04-14 17:35:56 +05:30
|
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
2021-07-20 16:51:32 +05:30
|
|
|
};
|
2020-11-03 15:41:12 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
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
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# The Workhorse
|
|
|
|
enterprise = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
modules = common-modules ++ [
|
2022-04-05 18:54:00 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# Overlays
|
|
|
|
{ nixpkgs.overlays = [ emacs-overlay.overlay ]; }
|
2022-04-05 18:54:00 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# Modules and module config
|
|
|
|
./modules/fish.nix
|
2022-05-26 23:17:15 +05:30
|
|
|
./modules/plasma-desktop.nix
|
|
|
|
./modules/fonts.nix
|
|
|
|
./modules/users.nix
|
2022-04-05 18:54:00 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# Host-specific config
|
2022-05-01 20:56:03 +05:30
|
|
|
./hosts/enterprise/hw.nix
|
|
|
|
./hosts/enterprise/networking.nix
|
2022-04-20 00:08:33 +05:30
|
|
|
./hosts/enterprise/sound.nix
|
|
|
|
./hosts/enterprise/nvidia.nix
|
|
|
|
./hosts/enterprise/configuration.nix
|
2022-04-05 18:54:00 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# 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;
|
2022-04-20 00:08:33 +05:30
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.users.payas = import ./hosts/enterprise/home.nix;
|
|
|
|
}
|
2022-04-05 18:54:00 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
];
|
|
|
|
};
|
2022-04-05 18:54:00 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# My Pi
|
|
|
|
bebop = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "aarch64-linux";
|
|
|
|
modules = common-modules ++ [
|
2022-04-14 17:35:56 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# Modules and module config
|
|
|
|
./modules/fish.nix
|
|
|
|
./modules/monitoring/monitoring.nix
|
2022-04-14 17:35:56 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# Host-specific config
|
|
|
|
nixos-hardware.nixosModules.raspberry-pi-4
|
|
|
|
./hosts/bebop/configuration.nix
|
|
|
|
./hosts/bebop/syncthing.nix
|
2022-04-21 23:31:32 +05:30
|
|
|
./hosts/bebop/pihole.nix
|
2022-04-17 22:00:28 +05:30
|
|
|
|
2022-04-20 00:08:33 +05:30
|
|
|
# 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;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2022-04-14 17:35:56 +05:30
|
|
|
};
|
2022-04-20 00:08:33 +05:30
|
|
|
|
2020-11-03 15:41:12 +05:30
|
|
|
};
|
|
|
|
}
|