| { |
| description = "Minion's NixOS configuration (since 2022-08-19)"; |
| inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; |
| inputs.flake-utils.url = "github:numtide/flake-utils"; |
| inputs.registry = { |
| url = "github:nixos/flake-registry"; |
| flake = false; |
| }; |
| inputs.impermanence.url = "github:nix-community/impermanence"; |
| |
| outputs = inputs: let |
| inherit (inputs) self nixpkgs flake-utils; |
| in |
| flake-utils.lib.eachDefaultSystem (system: let |
| pkgs = nixpkgs.legacyPackages.${system}; |
| |
| utils = import ./utils/utils.nix pkgs.lib; |
| |
| username = "minion"; |
| in { |
| nixosConfigurations = { |
| default = pkgs.lib.nixosSystem { |
| inherit system; |
| |
| home-manager.useGlobalPkgs = true; |
| |
| modules = pkgs.lib.pipe ./modules [ |
| utils.nixFilesIn |
| utils.importAll |
| (utils.interpretNonstandardModule (args: |
| args |
| // { |
| home = |
| args.config.home-manager."${username}"; |
| })) |
| ]; |
| |
| specialArgs = inputs // {inherit username;}; |
| }; |
| }; |
| devShell = pkgs.mkShell { |
| nativeBuildInputs = with pkgs; [nodePackages.prettier alejandra]; |
| buildInputs = []; |
| }; |
| formatter = pkgs.alejandra; |
| }); |
| } |