Iwakura/flake.nix

100 lines
2.8 KiB
Nix
Raw Normal View History

2021-04-27 18:47:09 -04:00
{
description = "Iwakura System Flake";
2021-08-23 06:49:13 -04:00
inBIGERRORputs = {
2021-04-27 18:47:09 -04:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware";
2021-08-23 06:42:53 -04:00
home-manager = {
url = "github:nix-community/home-manager/release-20.09";
2021-04-27 18:47:09 -04:00
inputs.nixpkgs.follows = "nixpkgs";
};
2021-08-23 06:42:53 -04:00
swatch = {
url = "github:techieAgnostic/swatch";
2021-04-27 18:47:09 -04:00
inputs.nixpkgs.follows = "nixpkgs";
};
2021-05-31 07:14:29 -04:00
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
2021-08-23 06:42:53 -04:00
nvim-nightly = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, ...}@inputs: rec {
hydraJobs = {
iwakura."x86_64-linux" = nixosConfigurations.iwakura.config.system.build.toplevel;
};
nixosConfigurations.iwakura = inputs.nixpkgs.lib.nixosSystem {
2021-04-27 18:47:09 -04:00
system = "x86_64-linux";
modules = [
2021-05-31 07:14:29 -04:00
# enable secrets in the store
2021-08-23 06:42:53 -04:00
# inputs.agenix.nixosModules.age
# (import ./secrets { inherit inputs.agenix; })
2021-04-27 18:47:09 -04:00
# enable flakes or we'll be sad
(import ./modules/flakes)
# enable sane garbage collection options
(import ./modules/gc)
# enabling window-manager
(import ./modules/bspwm)
2021-08-23 06:42:53 -04:00
# enable iohk binary cache for haskell dot nix
(import ./modules/iohk)
# neovim + plugins
(import ./modules/neovim)
2021-05-27 22:10:55 -04:00
2021-04-27 18:47:09 -04:00
# disk partitions and such (plus more that needs to be taken out)
(import ./hardware/iwakura)
2021-05-05 19:59:48 -04:00
# sane nameservers because aussie gov blocks everything
(import ./modules/nameservers)
2021-08-23 06:42:53 -04:00
# start mpd
(import ./modules/ncmpcpp)
# FHS runtime for games
(import ./modules/gog-games)
# start hydra CI
(import ./modules/hydra)
2021-04-27 18:47:09 -04:00
# community settings for this laptop
2021-08-23 06:42:53 -04:00
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t420
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
2021-04-27 18:47:09 -04:00
# import home manager profiles and set to use same nixpkgs
2021-08-23 06:42:53 -04:00
inputs.home-manager.nixosModules.home-manager {
2021-04-27 18:47:09 -04:00
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, ... }: {
2021-08-23 06:42:53 -04:00
nixpkgs.config.allowUnfree = true;
2021-04-27 18:47:09 -04:00
nixpkgs.overlays = [
2021-08-23 06:42:53 -04:00
inputs.swatch.overlay
inputs.nvim-nightly.overlay
(import ./overlays/picom.nix)
2021-04-27 18:47:09 -04:00
];
2021-08-23 06:42:53 -04:00
nix.registry.nixpkgs.flake = inputs.nixpkgs;
2021-04-27 18:47:09 -04:00
imports = [
./users/root
./users/thorn
];
})
];
};
};
}