diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..24b84a2 --- /dev/null +++ b/flake.nix @@ -0,0 +1,81 @@ +{ + description = "NixOS configuration"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager/release-23.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hyprland.url = "github:hyprwm/Hyprland"; + }; + + # outputs = { self, nixpkgs }: { + outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, hyprland, ... }: let + + system = "x86_64-linux"; + + # defFlakeSystem = baseCfg: nixpkgs.lib.nixosSystem { + defFlakeSystem = nixpkgs.lib.nixosSystem { + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + }; + pkgsUnstable = import nixpkgs-unstable { + inherit system; + config.allowUnfree = true; + }; + modules = [({ ... }: { + imports = [ + # baseCfg + home-manager.nixosModules.home-manager + { + # home-manager.useGlobalPkgs = true; + home-manager.useUserpackages = true; + } + ]; + # Let 'nixos-version --json' know the Git revision of this flake. + system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev; + nix.registry.nixpkgs.flake = nixpkgs; + })]; + }; + in { + + nixosConfigurations = { + zenbook = defFlakeSystem { + inherit system; + modules = [ + ./machines/zenbook/configuration.nix + + ./hardware-configuation.nix + + # Default users + ./modules/user-profiles/defin.nix + + home-manager.nixosModules.home-manager { + # home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/home.nix; + + # Optionally, use home-manager.extraSpecialArgs to pass + # arguments to home.nix + } + + hyprland.homeManagerModules.default + {wayland.windowManager.hyprland.enable = true;} + ./modules/hyprland.nix + + ./modules/bluetooth.nix + ./modules/environment.nix + ./modules/kde-connect.nix + ./modules/nix-common.nix + ./modules/services.nix + ./modules/sway.nix + + + ]; + }; + }; + }; +} |
