{ description = "A very basic flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; vscode-server = { url = "github:nix-community/nixos-vscode-server"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, ... }@args: let inherit (self) outputs; systemSettings = { hostName = "panoptes-nix"; system = "x86_64-linux"; timeZone = "America/Chicago"; locale = "en_US.UTF-8"; }; userSettings = { username = "root"; }; nixosSystem = args.nixpkgs.lib.nixosSystem; pkgs = args.nixpkgs.legacyPackages.${systemSettings.system}; in { nixosConfigurations.${systemSettings.hostName} = nixosSystem { system = systemSettings.system; specialArgs = { inherit systemSettings userSettings; }; modules = [ (args.nixpkgs + "/nixos/modules/virtualisation/proxmox-lxc.nix") args.home-manager.nixosModules.default args.sops-nix.nixosModules.sops args.vscode-server.nixosModules.default ./nixosModules ./scripts ({ pkgs, systemSettings, ... }: { networking.hostName = systemSettings.hostName; system.stateVersion = "24.11"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; time.timeZone = "${systemSettings.timeZone}"; nixpkgs.config.allowUnfree = true; services.vscode-server.enable = true; programs.nix-ld.enable = true; environment.systemPackages = with pkgs; [ git ]; }) ]; }; }; }