{ description = '' This i my basic NixOS system configuration. Feel free to reuse anything you find useful. ''; inputs = { home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix.url = "github:ryantm/agenix"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; deploy-rs.url = "github:serokell/deploy-rs"; hyprland.url = "github:hyprwm/Hyprland"; nix-colors.url = "github:misterio77/nix-colors"; }; outputs = { self, nix-colors, nixpkgs, nixpkgs-unstable, home-manager, hyprland , agenix, deploy-rs, ... }@inputs: let inherit (self) outputs; lib = nixpkgs.lib; allowUnfree = { nixpkgs.config.allowUnfree = true; }; system = "x86_64-linux"; overlay-unstable = final: prev: { unstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; }; }; in { nixosConfigurations = { lkk-nix-1 = lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./hosts/lkk-nix-1 agenix.nixosModules.default ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ]; }; lkk-prod-1 = lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ allowUnfree ./hosts/lkk-prod-1 agenix.nixosModules.default ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ]; }; lkk-prod-2 = lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ allowUnfree ./hosts/lkk-prod-2 agenix.nixosModules.default ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ]; }; m3-nix = lib.nixosSystem { specialArgs = { inherit inputs outputs; }; modules = [ allowUnfree ./hosts/m3-nix agenix.nixosModules.default ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ]; }; }; homeConfigurations = { # Laptop "m3tam3re@m3-nix" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages."x86_64-linux"; extraSpecialArgs = { inherit inputs nix-colors; }; modules = [ hyprland.homeManagerModules.default ./home/users/m3tam3re/m3-nix.nix allowUnfree ]; }; # Company Root Servera "m3tam3re@lkk-nix-1" = home-manager.lib.homeManagerConfiguration { extraSpecialArgs = { # pass things to t }; modules = [ ./home/users/m3tam3re/lkk-nix-1.nix ]; }; }; deploy.nodes.lkk-nix-1 = { hostname = "lkk-nix-1"; sshUser = "root"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.lkk-nix-1; }; }; deploy.nodes.lkk-prod-1 = { hostname = "lkk-prod-1"; sshUser = "root"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.lkk-prod-1; }; }; deploy.nodes.lkk-prod-2 = { hostname = "lkk-prod-2"; sshUser = "root"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.lkk-prod-2; }; }; deploy.remoteBuild = true; }; }