# https://nix.dev/ # https://github.com/barrucadu/nixfiles/tree/master # https://bitbucket.org/bzz/nixos/src/master/configuration.nix # https://grahamc.com/blog/erase-your-darlings/ # https://github.com/Misterio77/nix-starter-configs # https://github.com/solomon-b/nixos-config { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.1.tar.gz"; lix-module.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko/latest"; disko.inputs.nixpkgs.follows = "nixpkgs"; # Encrypted home: https://github.com/nix-community/home-manager/pull/6981 home-manager.url = "github:nix-community/home-manager/release-25.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs"; # Extras waveforms.url = "github:liff/waveforms-flake"; waveforms.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, sops-nix, disko, waveforms, lix-module }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; pkgs-unstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; }; in { ############################################################################ ############################################################################ ############################################################################ # Home Manager Configurations homeManagerModules = { "lauren_lagarde" = [ { home.username = "lauren_lagarde"; home.homeDirectory = "/home/lauren_lagarde"; nixpkgs.config.allowUnfree = true; home.stateVersion = pkgs.lib.mkDefault "25.05"; } ./home-manager/base.nix ]; "lauren_lagarde@tui.mlaga97.space" = self.homeManagerModules."lauren_lagarde" ++ [ ./dotspace/home.nix ./users/lauren_lagarde/home.nix ]; "lauren_lagarde@gui.mlaga97.space" = self.homeManagerModules."lauren_lagarde@tui.mlaga97.space" ++ [ ./home-manager/i3.nix ]; "lauren_lagarde@personal.mlaga97.space" = self.homeManagerModules."lauren_lagarde@gui.mlaga97.space" ++ [ ./secrets/mlaga97-gui.nix ]; }; homeConfigurations = { "lauren_lagarde" = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit self inputs pkgs-unstable; }; modules = self.homeManagerModules."lauren_lagarde"; }; "lauren_lagarde@ll-latitude-e5591" = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit self inputs pkgs-unstable; }; modules = self.homeManagerModules."lauren_lagarde@personal.mlaga97.space" ++ [ ./systems/ll-latitude-e5591/home.nix ]; }; }; ############################################################################ ############################################################################ ############################################################################ # NixOS System Configurations nixosConfigurations = { bastion = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/bastion/configuration.nix ]; }; blockhouse = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/blockhouse/configuration.nix ]; }; fortress = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/fortress/configuration.nix ]; }; living-room = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/living-room/configuration.nix ]; }; ll-latitude-e5591 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs pkgs-unstable; }; modules = [ ./systems/ll-latitude-e5591/configuration.nix ]; }; ll-nixos-live = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/ll-nixos-live/configuration.nix ]; }; outpost = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/outpost/configuration.nix ]; }; redoubt = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/redoubt/configuration.nix ]; }; stronghold = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit self inputs pkgs-unstable; }; modules = [ ./systems/stronghold/configuration.nix ]; }; }; }; }