{ description = "Alex's super mega awesome nixos config"; # A flake's inputs specify the dependencies that get pulled in. Each input is pinned to a specific version (the git commit) of that dependency. inputs = { nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; # This flake also takes in nixpkgs as its own input, so we can override it here to ensure the same pkgs are used! }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; atau-nixpkgs = { url = "git+https://git.atauno.com/atau/atau-nixpkgs?ref=main&rev=1e72f4b1e9b7a2991e3ccdebbe75d312f016da3b"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, firefox-addons, ... }@inputs: { nixosConfigurations = { ## ---- personal computers (linux) ---- nixos76 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./config/systems/nixos76 ] ++ (import ./config/modules/home-manager.nix { inherit system inputs; user = "alex"; }).modules; }; thelio76 = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./config/systems/thelio76 ] ++ (import ./config/modules/home-manager.nix { inherit system inputs; user = "alex"; }).modules; }; ## ---- servers ---- ursa-minor = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ ./ursa-minor/configuration.nix ]; }; ursa-major = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ ./ursa-major/configuration.nix ]; }; atauno = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ ./atauno/configuration.nix ]; }; }; }; }