diff options
| author | Preston Pan <ret2pop@nullring.xyz> | 2026-03-02 00:03:12 -0800 |
|---|---|---|
| committer | Preston Pan <ret2pop@nullring.xyz> | 2026-03-02 00:03:12 -0800 |
| commit | 9484c4ec525c02caa8a65ecfe37ed24f1d4b321d (patch) | |
| tree | 676712a1504939b37a69fbee9c235dc61917cd65 /nix/flake.nix | |
| parent | a05e0614c1bb75f77717a943dc4ac75a0cca4652 (diff) | |
Remove local nix directory to prepare for submodule
Diffstat (limited to 'nix/flake.nix')
| -rw-r--r-- | nix/flake.nix | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/nix/flake.nix b/nix/flake.nix deleted file mode 100644 index 4ad9dd8..0000000 --- a/nix/flake.nix +++ /dev/null @@ -1,212 +0,0 @@ -{ - description = "Emacs centric configurations for a complete networked system"; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nur.url = "github:nix-community/NUR"; - sops-nix.url = "github:Mic92/sops-nix"; - - scripts.url = "github:ret2pop/scripts"; - wallpapers.url = "github:ret2pop/wallpapers"; - sounds.url = "github:ret2pop/sounds"; - deep-research.url = "github:ret2pop/ollama-deep-researcher"; - impermanence.url = "github:nix-community/impermanence"; - - nix-topology = { - url = "github:oddlama/nix-topology"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - home-manager = { - url = "github:nix-community/home-manager/release-25.05"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - disko = { - url = "github:nix-community/disko"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - lanzaboote = { - url = "github:nix-community/lanzaboote/v0.4.1"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - nixos-dns = { - url = "github:Janik-Haag/nixos-dns"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - nixpak = { - url = "github:nixpak/nixpak"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - git-hooks = { - url = "github:cachix/git-hooks.nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - - outputs = - { self - , nixpkgs - , home-manager - , nur - , disko - , lanzaboote - , sops-nix - , nix-topology - , nixos-dns - , deep-research - , impermanence - , nixpak - , git-hooks - , ... - } - @attrs: - let - vars = import ./flakevars.nix; - system = "x86_64-linux"; - - pkgs = import nixpkgs { inherit system; }; - armPkgs = import nixpkgs { inherit system; }; - - generate = nixos-dns.utils.generate nixpkgs.legacyPackages."${system}"; - - dnsConfig = { - inherit (self) nixosConfigurations; - extraConfig = import ./dns/default.nix; - }; - - # function that generates all systems from hostnames - mkConfigs = map (hostname: - let - isRpi = (builtins.match "rpi-.*" hostname) != null; - hostSystem = if isRpi then "aarch64-linux" else system; - in - { - name = "${hostname}"; - value = nixpkgs.lib.nixosSystem { - system = hostSystem; - specialArgs = attrs; - modules = - if (hostname == "installer") then [ - (./. + "/systems/${hostname}/default.nix") - { networking.hostName = "${hostname}"; } - nix-topology.nixosModules.default - ] else - (if isRpi then [ - (./. + "/systems/${hostname}/default.nix") - disko.nixosModules.disko - home-manager.nixosModules.home-manager - sops-nix.nixosModules.sops - lanzaboote.nixosModules.lanzaboote - ] else - ([ - { - environment.systemPackages = with nixpkgs.lib; [ - deep-research.packages."${system}".deep-research - ]; - } - impermanence.nixosModules.impermanence - nix-topology.nixosModules.default - lanzaboote.nixosModules.lanzaboote - disko.nixosModules.disko - home-manager.nixosModules.home-manager - sops-nix.nixosModules.sops - nixos-dns.nixosModules.dns - { - nixpkgs.overlays = [ nur.overlays.default ]; - home-manager.extraSpecialArgs = attrs // { - systemHostName = "${hostname}"; - }; - networking.hostName = "${hostname}"; - } - (./. + "/systems/${hostname}/default.nix") - ])); - }; - }); - - mkDiskoFiles = map (hostname: { - name = "${hostname}"; - value = self.nixosConfigurations."${hostname}".config.monorepo.vars.diskoSpec; - }); - - pre-commit-check = git-hooks.lib.${system}.run { - src = ./.; - hooks = { - # 1. Formatting - nixpkgs-fmt.enable = false; - - # 2. Linting - statix.enable = true; - deadnix.enable = true; - - # 3. Custom VM Boot Check (The "Integration" part) - # This runs the build-vm derivation to ensure it compiles - vm-build-check = { - enable = true; - name = "vps-vm-build"; - description = "Ensure VPS configuration is buildable as a VM"; - entry = "nix build .#nixosConfigurations.vps.config.system.build.vm --no-link"; - pass_filenames = false; - }; - }; - }; - in - { - checks."${system}" = { - inherit pre-commit-check; - }; - - nixosConfigurations = builtins.listToAttrs (mkConfigs vars.hostnames); - - evalDisko = builtins.listToAttrs (mkDiskoFiles (builtins.filter (x: x != "installer") vars.hostnames)); - - topology."${system}" = import nix-topology { - pkgs = import nixpkgs { - inherit system; - overlays = [ nix-topology.overlays.default ]; - }; - modules = [ - ./topology/default.nix - { nixosConfigurations = self.nixosConfigurations; } - ]; - }; - - devShell."${system}" = with pkgs; mkShell { - inherit (pre-commit-check) shellHook; - buildInputs = [ - fira-code - python3 - poetry - statix - deadnix - ]; - }; - - packages."${system}" = { - zoneFiles = generate.zoneFiles dnsConfig; - octodns = generate.octodnsConfig { - inherit dnsConfig; - - config = { - providers = { - cloudflare = { - class = "octodns_cloudflare.CloudflareProvider"; - token = "env/CLOUDFLARE_TOKEN"; - }; - config = { - check_origin = false; - }; - }; - }; - zones = { - "${vars.remoteHost}." = nixos-dns.utils.octodns.generateZoneAttrs [ "cloudflare" ]; - "${vars.orgHost}." = nixos-dns.utils.octodns.generateZoneAttrs [ "cloudflare" ]; - }; - }; - }; - }; -} |
