Payas Relekar
c41240fc55
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.
113 lines
2.9 KiB
Nix
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;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
};
|
|
}
|