{ description = "Epesooj webring and machine."; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; nil = { url = "github:oxalica/nil"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ flake-parts, nil, ... }: flake-parts.lib.mkFlake { inherit inputs; } ({ config, getSystem, ... }: { systems = [ "x86_64-linux" ]; imports = [ ./host_config ]; flake = let codeServerModules = [ config.flake.nixosModules.code-server { networking.hostName = "epesooj-code-0001"; } ]; in { nixosConfigurations = { code = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = codeServerModules; }; }; colmena = { meta.nixpkgs = import inputs.nixpkgs { system = "x86_64-linux"; }; code = { deployment = { targetHost = "epesooj-code-0001"; # Requires an SSH config with information for this host. }; imports = codeServerModules; }; }; }; perSystem = { system, pkgs, ... }: { devShells = { default = pkgs.mkShell { packages = with pkgs; [ just deno colmena # Both of these used with VSCode. nixpkgs-fmt nil.packages.${system}.default ]; }; }; }; }); }