seeing if it's easier to fork tA's nixos laptop config rather than make one from scratch (more or less).
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

80 wiersze
2.2KB

  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. agenix = {
  16. url = "github:ryantm/agenix";
  17. inputs.nixpkgs.follows = "nixpkgs";
  18. };
  19. };
  20. outputs = { self, nixpkgs, home-manager, agenix, nixos-hardware, swatch, vim, ...}: {
  21. nixosConfigurations.iwakura = nixpkgs.lib.nixosSystem {
  22. system = "x86_64-linux";
  23. modules = [
  24. # enable secrets in the store
  25. agenix.nixosModules.age
  26. (import ./secrets { inherit agenix; })
  27. # enable flakes or we'll be sad
  28. (import ./modules/flakes)
  29. # enable sane garbage collection options
  30. (import ./modules/gc)
  31. # enabling window-manager
  32. (import ./modules/bspwm)
  33. # emacs + package override
  34. (import ./modules/emacs)
  35. # disk partitions and such (plus more that needs to be taken out)
  36. (import ./hardware/iwakura)
  37. # sane nameservers because aussie gov blocks everything
  38. (import ./modules/nameservers)
  39. # community settings for this laptop
  40. nixos-hardware.nixosModules.lenovo-thinkpad-t420
  41. nixos-hardware.nixosModules.common-pc-laptop-ssd
  42. # import home manager profiles and set to use same nixpkgs
  43. home-manager.nixosModules.home-manager {
  44. home-manager = {
  45. useGlobalPkgs = true;
  46. useUserPackages = true;
  47. users = {
  48. root = import ./users/root/home.nix;
  49. thorn = import ./users/thorn/home.nix;
  50. };
  51. };
  52. }
  53. # import nix config user profiles + misc
  54. ({ pkgs, ... }: {
  55. nixpkgs.overlays = [
  56. swatch.overlay
  57. vim.overlay
  58. (import ./overlays/picom.nix)
  59. ];
  60. nix.registry.nixpkgs.flake = nixpkgs;
  61. imports = [
  62. ./users/root
  63. ./users/thorn
  64. ];
  65. })
  66. ];
  67. };
  68. };
  69. }