seeing if it's easier to fork tA's nixos laptop config rather than make one from scratch (more or less).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.0KB

  1. {
  2. description = "Iwakura System Flake";
  3. inputs = {
  4. nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  5. nixos-hardware.url = "github:NixOS/nixos-hardware";
  6. home-manager.url = "github:nix-community/home-manager/release-20.09";
  7. swatch = {
  8. url = "github:techieAgnostic/swatch";
  9. inputs.nixpkgs.follows = "nixpkgs";
  10. };
  11. vim = {
  12. url = "github:techieAgnostic/vim";
  13. inputs.nixpkgs.follows = "nixpkgs";
  14. };
  15. };
  16. outputs = { self, nixpkgs, home-manager, nixos-hardware, swatch, vim, ...}: {
  17. nixosConfigurations.iwakura = nixpkgs.lib.nixosSystem {
  18. system = "x86_64-linux";
  19. modules = [
  20. # enable flakes or we'll be sad
  21. (import ./modules/flakes)
  22. # enable sane garbage collection options
  23. (import ./modules/gc)
  24. # enabling window-manager
  25. (import ./modules/bspwm)
  26. # emacs + package override
  27. (import ./modules/emacs)
  28. # disk partitions and such (plus more that needs to be taken out)
  29. (import ./hardware/iwakura)
  30. # sane nameservers because aussie gov blocks everything
  31. (import ./modules/nameservers)
  32. # community settings for this laptop
  33. nixos-hardware.nixosModules.lenovo-thinkpad-t420
  34. nixos-hardware.nixosModules.common-pc-laptop-ssd
  35. # import home manager profiles and set to use same nixpkgs
  36. home-manager.nixosModules.home-manager {
  37. home-manager = {
  38. useGlobalPkgs = true;
  39. useUserPackages = true;
  40. users = {
  41. root = import ./users/root/home.nix;
  42. thorn = import ./users/thorn/home.nix;
  43. };
  44. };
  45. }
  46. # import nix config user profiles + misc
  47. ({ pkgs, ... }: {
  48. nixpkgs.overlays = [
  49. swatch.overlay
  50. vim.overlay
  51. (import ./overlays/picom.nix)
  52. ];
  53. nix.registry.nixpkgs.flake = nixpkgs;
  54. imports = [
  55. ./users/root
  56. ./users/thorn
  57. ];
  58. })
  59. ];
  60. };
  61. };
  62. }