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
Payas Relekar c41240fc55 Hermes: Temporarily disable navidrom
Upstream unstable branch has broken navidrome. A PR is already made to fix it,
but apparently the issue is with how npm gets bundled with Nix, so might not be
trivial to fix completely. Until that happens, this can be disabled.

As for bebop, it will fail to build, so the system should automatically stay on
older version until navidrom is fixed upstream.
2022-09-20 14:56:18 +05:30

113 lines
2.9 KiB
Nix

{
description = "NixOS configuration (flake edition)";
inputs = {
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
nixos-wsl = {
url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixpkgs";
};
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
, nixos-wsl
, home-manager
, emacs-overlay
, agenix
, nixos-hardware
, ...
}:
let
common-modules = [
./cachix.nix
./modules/nix.nix
./modules/common.nix
];
in
{
nixosConfigurations = {
# The Workhorse: WSL2 edition
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/users.nix
./modules/fonts.nix
# Host-specific config
./hosts/hermes/configuration.nix
nixos-wsl.nixosModules.wsl
./hosts/hermes/wsl.nix
./hosts/hermes/syncthing.nix
# ./hosts/hermes/navidrome.nix
# ./hosts/hermes/backup.nix
agenix.nixosModules.age
./hosts/hermes/secrets/agenix.nix
# User-specific config
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users = {
payas = import ./hosts/hermes/home.nix;
root = import ./modules/root-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/navidrome.nix
./hosts/bebop/pihole.nix
./hosts/bebop/ssh.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;
}
];
};
};
};
}