diff --git a/flake.lock b/flake.lock index 8f6b2d3..5026f56 100644 --- a/flake.lock +++ b/flake.lock @@ -68,26 +68,6 @@ "type": "github" } }, - "dolphin-overlay": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743892246, - "narHash": "sha256-AHeavUWjnDPT/hffE5hM8RIew+mZJSSr9tUEiSvZW30=", - "owner": "rumboon", - "repo": "dolphin-overlay", - "rev": "55fec3268972876890d6081d3d76a701c37c01d7", - "type": "github" - }, - "original": { - "owner": "rumboon", - "repo": "dolphin-overlay", - "type": "github" - } - }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -343,7 +323,6 @@ }, "root": { "inputs": { - "dolphin-overlay": "dolphin-overlay", "floatc": "floatc", "home-manager": "home-manager", "nixpkgs": "nixpkgs", diff --git a/git.test b/git.test new file mode 100644 index 0000000..d3558aa --- /dev/null +++ b/git.test @@ -0,0 +1,16 @@ +{ pkgs, ... }: { + programs.git.enable = true; + + home-manager.users.maxag = { + programs.git = { + enable = true; + userName = "Max AG"; + userEmail = "max@example.com"; + + extraConfig = { + init.defaultBranch = "main"; + pull.rebase = true; + }; + }; + }; +} diff --git a/test.flake b/test.flake new file mode 100644 index 0000000..a7e395b --- /dev/null +++ b/test.flake @@ -0,0 +1,68 @@ +{ + description = "My personal Hyprland NixOS config"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + stylix = { + url = "github:danth/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nvf = { + url = "github:notashelf/nvf"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + zen-browser = { + url = "github:youwen5/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + dolphin-overlay = { + url = "github:rumboon/dolphin-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + floatc = { + url = "git+https://git.stribrny.org/max_ag/floating-calculator"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { nixpkgs, ... } @ inputs: + let + hmOptions = { + useUserPackages = true; + useGlobalPkgs = true; + sharedModules = [ inputs.stylix.homeModules.stylix ]; + }; + + mkModules = device-name: [ + ./modules/shared/hyprland.nix + ./modules/shared/git.nix + ./modules/shared/fonts.nix + ./modules/shared/nvf.nix + ./modules/${device-name}/configuration.nix + ./modules/${device-name}/hardware-configuration.nix + inputs.home-manager.nixosModules.home-manager + inputs.stylix.nixosModules.stylix + { + nixpkgs.overlays = [ inputs.dolphin-overlay.overlays.default ]; + home-manager = hmOptions // { + extraSpecialArgs = { inherit inputs device-name; }; + }; + } + ]; + + mkSystem = device-name: nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs device-name; }; + modules = mkModules device-name; + }; + in { + nixosConfigurations = { + max-laptop = mkSystem "laptop"; + max-main = mkSystem "main"; + }; + }; +}