diff --git a/de/default.nix b/de/default.nix new file mode 100644 index 0000000..3d62142 --- /dev/null +++ b/de/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hypr + ]; +} + diff --git a/de/hypr/default.nix b/de/hypr/default.nix new file mode 100644 index 0000000..2861d1c --- /dev/null +++ b/de/hypr/default.nix @@ -0,0 +1,15 @@ +{ + hy3, + pkgs, + ... +} : { + home.file = { + ".config/hypr/hyprland.conf.d".source = ./hyprland.conf.d; + }; + + wayland.windowManager.hyprland = { + enable = true; + extraConfig = builtins.readFile ./hyprland.conf; + plugins = [ hy3.packages.${pkgs.system}.hy3 ]; + }; +} diff --git a/flake.lock b/flake.lock index 2564972..207fadc 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,42 @@ { "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hy3", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hy3", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hy3", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725199881, + "narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -20,7 +57,216 @@ "type": "github" } }, + "hy3": { + "inputs": { + "hyprland": "hyprland" + }, + "locked": { + "lastModified": 1725825817, + "narHash": "sha256-hBvwaMlgBuR2cB1Kx6cA1z7x38HXUujNcHtBsKhaEZs=", + "owner": "outfoxxed", + "repo": "hy3", + "rev": "4b194eb5486b89102726ad5f4492bb3440c46031", + "type": "github" + }, + "original": { + "owner": "outfoxxed", + "repo": "hy3", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hy3", + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hy3", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1722623071, + "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "912d56025f03d41b1ad29510c423757b4379eb1c", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1725814101, + "narHash": "sha256-+wE97utoDfhQP6AMdZHUmBeL8grbce/Jv2i5M+6AbaE=", + "ref": "refs/heads/main", + "rev": "0f594732b063a90d44df8c5d402d658f27471dfe", + "revCount": 5196, + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + }, + "original": { + "rev": "0f594732b063a90d44df8c5d402d658f27471dfe", + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hy3", + "hyprland", + "xdph", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "xdph", + "systems" + ] + }, + "locked": { + "lastModified": 1721326555, + "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hy3", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hy3", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725188252, + "narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "c12ab785ce1982f82594aff03b3104c598186ddd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hy3", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1724966483, + "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hy3", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1721324119, + "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1726243404, "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", @@ -39,7 +285,60 @@ "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "hy3": "hy3", + "hyprland": [ + "hy3", + "hyprland" + ], + "nixpkgs": "nixpkgs_2" + } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "hyprlang": [ + "hy3", + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hy3", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hy3", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725203932, + "narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index dccdae4..c21eb08 100644 --- a/flake.nix +++ b/flake.nix @@ -7,9 +7,18 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # Hyprland + hyprland = { + url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + follows = "hy3/hyprland"; + }; + hy3 = { + url = "github:outfoxxed/hy3"; + }; }; - outputs = { self, nixpkgs, home-manager }: + outputs = { self, nixpkgs, home-manager, hy3, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -18,6 +27,7 @@ homeConfigurations."culisg@im2ag" = home-manager.lib.homeManagerConfiguration { inherit pkgs; + extraSpecialArgs = {inherit hy3;}; modules = [ ./nix/profiles/culisg.nix ]; diff --git a/nix/profiles/culisg.nix b/nix/profiles/culisg.nix index 2cac644..eed8d9d 100644 --- a/nix/profiles/culisg.nix +++ b/nix/profiles/culisg.nix @@ -5,5 +5,6 @@ imports = [ ../../editor + ../../de ]; }