nixos-config

My NixOS configuration files

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    # For building an image for XVM
    # https://lantian.pub/en/article/modify-computer/nixos-low-ram-vps.lantian/
    # https://unnamed.website/posts/nixvm/
    disko = {
      url = "github:nix-community/disko/latest";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    # Dogfooding my own project
    nixathena = {
      url = "git+https://forgejo.mit.edu/SIPB/nixathena.git";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  outputs =
    inputs@{ self, nixpkgs, ... }:
    let
      system = "x86_64-linux";
      pkgs = import nixpkgs { inherit system; };
    in
    {
      nixosConfigurations = {
        # Very creative names, I know, I ran out of name ideas sorry
        Framework-13 = nixpkgs.lib.nixosSystem {
          modules = [
            ./configuration.nix
            ./laptop.nix
            ./Framework-13
            inputs.nixathena.nixosModules.default
          ];
        };
        ThinkPad-X1-Yoga-Gen-6 = nixpkgs.lib.nixosSystem {
          modules = [
            ./configuration.nix
            ./laptop.nix
            ./ThinkPad-X1-Yoga-Gen-6
          ];
        };
        Unnamed-Server = nixpkgs.lib.nixosSystem {
          modules = [
            "${nixpkgs}/nixos/modules/profiles/minimal.nix"
            ./configuration.nix
            ./Unnamed-Server
            inputs.disko.nixosModules.disko
          ];
        };
      };
      packages.${system}.image = self.nixosConfigurations.Unnamed-Server.config.system.build.diskoImages;
      # I love autoformatters
      formatter.${system} = pkgs.nixfmt-tree;
    };
}