summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorDevin Finlinson <devin.finlinson@pm.me>2023-08-30 22:56:23 +0200
committerDevin Finlinson <devin.finlinson@pm.me>2023-08-30 22:56:23 +0200
commite68f05c78c57d2d719929b42e9659511d14af455 (patch)
tree15170de3c0e796b40b51674ef59a6dc122f8f7b9 /flake.nix
Creating initial commit.
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix81
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
+
+
+ ];
+ };
+ };
+ };
+}