Iwakura/flake.nix
2021-06-02 01:37:40 +00:00

80 lines
2.2 KiB
Nix

{
description = "Iwakura System Flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware";
home-manager.url = "github:nix-community/home-manager/release-20.09";
swatch = {
url = "github:techieAgnostic/swatch";
inputs.nixpkgs.follows = "nixpkgs";
};
vim = {
url = "github:techieAgnostic/vim";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, agenix, nixos-hardware, swatch, vim, ...}: {
nixosConfigurations.iwakura = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# enable secrets in the store
agenix.nixosModules.age
(import ./secrets { inherit agenix; })
# enable flakes or we'll be sad
(import ./modules/flakes)
# enable sane garbage collection options
(import ./modules/gc)
# enabling window-manager
(import ./modules/bspwm)
# emacs + package override
(import ./modules/emacs)
# disk partitions and such (plus more that needs to be taken out)
(import ./hardware/iwakura)
# sane nameservers because aussie gov blocks everything
(import ./modules/nameservers)
# community settings for this laptop
nixos-hardware.nixosModules.lenovo-thinkpad-t420
nixos-hardware.nixosModules.common-pc-laptop-ssd
# import home manager profiles and set to use same nixpkgs
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users = {
root = import ./users/root/home.nix;
thorn = import ./users/thorn/home.nix;
};
};
}
# import nix config user profiles + misc
({ pkgs, ... }: {
nixpkgs.overlays = [
swatch.overlay
vim.overlay
(import ./overlays/picom.nix)
];
nix.registry.nixpkgs.flake = nixpkgs;
imports = [
./users/root
./users/thorn
];
})
];
};
};
}