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 d204e74648 remove emacs-overlay
emacs29-pgtk is now available from NixOS-unstable directly.

the overlay still provides some updates, like more frequent ELPA/MELPA
package updates, but they are incompatible with how doom manages package
updates anyway. I might think about bringin back the overlay without
emacs itself in future, but for now, I'm getting off the bandwagon.

The plan was and still is to get off of overlay and emacs unstable
completely. While the run was pretty good, I consider Emacs to be part
of my digital infrastructure now, and having it broken means bad news.
Removing overlay and going back to stable branch just means reducing the
number of moving pieces, having more eyes on common friction points and
faster resolution. Hope this works as well as I'm expecting now.
2023-06-02 01:02:45 +05:30

127 lines
3.4 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";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
deploy-rs.url = "github:serokell/deploy-rs";
};
outputs =
{ self
, nixpkgs
, nixos-wsl
, home-manager
, agenix
, nixos-hardware
, deploy-rs
, ...
}:
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 ++ [
# Modules and module config
./modules/fish.nix
./modules/users.nix
./modules/fonts.nix
./modules/calibre.nix
# Host-specific config
./hosts/hermes/configuration.nix
nixos-wsl.nixosModules.wsl
./hosts/hermes/wsl.nix
./hosts/hermes/syncthing.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
./modules/calibre.nix
./modules/wiki.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
agenix.nixosModules.age
./hosts/hermes/secrets/agenix.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;
}
];
};
};
deploy.nodes = {
bebop = {
hostname = "bebop";
fastConnection = true;
remoteBuild = true;
profiles.system = {
sshUser = "payas";
user = "root";
path = deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.bebop;
};
};
};
# This is highly advised, and will prevent many possible mistakes
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
};
}