diff --git a/.envrc b/.envrc index f09962e..c362a70 100644 --- a/.envrc +++ b/.envrc @@ -3,9 +3,9 @@ if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs=" fi -nix_direnv_watch_file devenv.nix -nix_direnv_watch_file devenv.lock -nix_direnv_watch_file devenv.yaml +watch_file devenv.nix +watch_file devenv.lock +watch_file devenv.yaml if ! use flake . --impure then echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2 diff --git a/flake.lock b/flake.lock index 6db4bf2..bdf35a8 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,23 @@ { "nodes": { + "ags": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1708694763, + "narHash": "sha256-n+F24e9Dr7MS0W4laNGgiTMStE+uR1fbt+Y///KkRFk=", + "owner": "Aylur", + "repo": "ags", + "rev": "e1f2d311ceb496a69ef6daa6aebb46ce511b2f22", + "type": "github" + }, + "original": { + "owner": "Aylur", + "repo": "ags", + "type": "github" + } + }, "alejandra": { "inputs": { "fenix": "fenix", @@ -118,15 +136,15 @@ "inputs": { "flake-compat": "flake-compat", "nix": "nix", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1707817777, - "narHash": "sha256-vHyIs1OULQ3/91wD6xOiuayfI71JXALGA5KLnDKAcy0=", + "lastModified": 1708701802, + "narHash": "sha256-OvpkuB5Lx8eomwUgUT4s10fzbrDnPCtCsxOlZ63hYFI=", "owner": "cachix", "repo": "devenv", - "rev": "5a30b9e5ac7c6167e61b1f4193d5130bb9f8defa", + "rev": "fa9a708e240c6174f9fc4c6eefbc6a89ce01c350", "type": "github" }, "original": { @@ -138,7 +156,7 @@ "devshell": { "inputs": { "flake-utils": "flake-utils_8", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1678957337, @@ -156,7 +174,7 @@ }, "devshell_2": { "inputs": { - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_12", "systems": "systems_10" }, "locked": { @@ -315,15 +333,15 @@ "emacs-overlay": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1708103144, - "narHash": "sha256-+HWM66eCCeok8tA1IF4lpSvrreYPcZjayo0i2Vn1RyI=", + "lastModified": 1708825735, + "narHash": "sha256-R7Hoofk9AsO7i2OHlXe6sZSHhKcbwHxbt8G17BLvWNw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "4887a3bf368f7ba9fe2640c23ce08646918d4414", + "rev": "f42e044d8eae9e0da1a00afa79d411765c757648", "type": "github" }, "original": { @@ -585,6 +603,24 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -605,7 +641,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "prismlauncher", @@ -626,9 +662,9 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1698882062, @@ -902,6 +938,27 @@ "type": "github" } }, + "haumea": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1685133229, + "narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=", + "owner": "nix-community", + "repo": "haumea", + "rev": "34dd58385092a23018748b50f9b23de6266dffc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.2.2", + "repo": "haumea", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -909,11 +966,11 @@ ] }, "locked": { - "lastModified": 1708031129, - "narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=", + "lastModified": 1708806879, + "narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", "owner": "nix-community", "repo": "home-manager", - "rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8", + "rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", "type": "github" }, "original": { @@ -924,7 +981,7 @@ }, "home-manager_2": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1701071203, @@ -971,16 +1028,16 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1693740777, - "narHash": "sha256-j9ypIwZkotNZMyk8R/W002OzDHd0C0OHSKE7uOFpf2k=", + "lastModified": 1707098342, + "narHash": "sha256-dU5m6Cd4+WQZal2ICDVf1kww/dNzo1YUWRxWeCctEig=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "96d555e8e794627bfc561e294e148ab8a9961fcc", + "rev": "84ab8d11e8951a6551d1e1bf87796a8589da6d47", "type": "github" }, "original": { "owner": "hyprwm", - "ref": "v0.29.1", + "ref": "v0.35.0", "repo": "Hyprland", "type": "github" } @@ -1040,7 +1097,7 @@ "hyprland_2": { "inputs": { "hyprland-protocols": "hyprland-protocols_2", - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_14", "systems": "systems_11", "wlroots": "wlroots_2", "xdph": "xdph_2" @@ -1059,6 +1116,28 @@ "type": "github" } }, + "hyprlang": { + "inputs": { + "nixpkgs": [ + "hyprland", + "xdph", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1704287638, + "narHash": "sha256-TuRXJGwtK440AXQNl5eiqmQqY4LZ/9+z/R7xC0ie3iA=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "6624f2bb66d4d27975766e81f77174adbe58ec97", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1706639736, @@ -1078,7 +1157,7 @@ "inputs": { "crane": "crane", "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" @@ -1177,7 +1256,7 @@ "nil": { "inputs": { "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "rust-overlay": "rust-overlay_2" }, "locked": { @@ -1233,7 +1312,7 @@ "flake-utils": "flake-utils_5", "format-all": "format-all", "nix-straight": "nix-straight", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nose": "nose", "ob-racket": "ob-racket", "org": "org", @@ -1280,14 +1359,14 @@ "inputs": { "flake-compat": "flake-compat_4", "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1707761607, - "narHash": "sha256-OKNdTgnyhZpmqdgba8s78/QvowyTIMJDp0iLxv570bU=", + "lastModified": 1708788887, + "narHash": "sha256-4HprTKLKiY8rXmthsuRAwXHW7hGaXsSlzmbXSWdOa7g=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "c8ddba82ca6b791be1acaae4b336ff8e857ec70b", + "rev": "7e3fc6a99a2c9e6701e2e0d37f1755e29a798b91", "type": "github" }, "original": { @@ -1298,21 +1377,39 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678875422, - "narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=", + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "dir": "lib", "lastModified": 1698611440, @@ -1364,11 +1461,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1707978831, - "narHash": "sha256-UblFdWQ2MMZNzD9C/w8+7RjAJ2QIbebbzHUniQ/a44o=", + "lastModified": 1708702655, + "narHash": "sha256-qxT5jSLhelfLhQ07+AUxSTm1VnVH+hQxDkQSZ/m/Smo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c68a9fc85c2cb3a313be6ff40511635544dde8da", + "rev": "c5101e457206dd437330d283d6626944e28794b3", "type": "github" }, "original": { @@ -1410,6 +1507,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1681648924, + "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f294325aed382b66c7a188482101b0f336d1d7db", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1681358109, "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", @@ -1425,7 +1538,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1677383253, "narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=", @@ -1441,7 +1554,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1700794826, "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", @@ -1457,7 +1570,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1700612854, "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", @@ -1473,7 +1586,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_15": { "locked": { "lastModified": 1701336116, "narHash": "sha256-kEmpezCR/FpITc6yMbAh4WrOCiT2zg5pSjnKrq51h5Y=", @@ -1491,21 +1604,37 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1707956935, - "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "lastModified": 1678875422, + "narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { + "locked": { + "lastModified": 1708655239, + "narHash": "sha256-ZrP/yACUvDB+zbqYJsln4iwotbH6CTZiTkANJ0AgDv4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cbc4211f0afffe6dfd2478a62615dd5175a13f9a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1704161960, "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", @@ -1521,7 +1650,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1695806987, "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", @@ -1536,7 +1665,7 @@ "type": "indirect" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1707514827, "narHash": "sha256-Y+wqFkvikpE1epCx57PsGw+M1hX5aY5q/xgk+ebDwxI=", @@ -1552,13 +1681,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { - "lastModified": 1707956935, - "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "lastModified": 1708655239, + "narHash": "sha256-ZrP/yACUvDB+zbqYJsln4iwotbH6CTZiTkANJ0AgDv4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "rev": "cbc4211f0afffe6dfd2478a62615dd5175a13f9a", "type": "github" }, "original": { @@ -1568,13 +1697,13 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { - "lastModified": 1707451808, - "narHash": "sha256-UwDBUNHNRsYKFJzyTMVMTF5qS4xeJlWoeyJf+6vvamU=", + "lastModified": 1708151420, + "narHash": "sha256-MGT/4aGCWQPQiu6COqJdCj9kSpLPiShgbwpbC38YXC8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "442d407992384ed9c0e6d352de75b69079904e4e", + "rev": "6e2f00c83911461438301db0dba5281197fe4b3a", "type": "github" }, "original": { @@ -1584,7 +1713,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1677383253, "narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=", @@ -1600,22 +1729,6 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1681648924, - "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "f294325aed382b66c7a188482101b0f336d1d7db", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nose": { "flake": false, "locked": { @@ -1832,11 +1945,11 @@ ] }, "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "type": "github" }, "original": { @@ -1848,17 +1961,17 @@ "prismlauncher": { "inputs": { "flake-compat": "flake-compat_5", - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "libnbtplusplus": "libnbtplusplus", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_8", "pre-commit-hooks": "pre-commit-hooks_2" }, "locked": { - "lastModified": 1707812147, - "narHash": "sha256-ptW5nj5vqKtOvmryGKZeG8ZnViPGHO7OdcACuukZn+o=", + "lastModified": 1708601760, + "narHash": "sha256-f+1zhi8C53rr+W0t0N35Kuo37ITNt4o0QhxJMaGpofo=", "owner": "PrismLauncher", "repo": "PrismLauncher", - "rev": "e738b780448c263b1c1b52042030c375ff895652", + "rev": "1cdb9bd5aff9d37b40fc3373a14547fabeecdf35", "type": "github" }, "original": { @@ -1885,10 +1998,13 @@ }, "root": { "inputs": { + "ags": "ags", "alejandra": "alejandra", "anyrun": "anyrun", "devenv": "devenv", "emacs-overlay": "emacs-overlay", + "flake-parts": "flake-parts_2", + "haumea": "haumea", "home-manager": "home-manager", "homeage": "homeage", "hyprland": "hyprland", @@ -1897,7 +2013,7 @@ "nil": "nil", "nix-doom-emacs": "nix-doom-emacs", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "prismlauncher": "prismlauncher", "wayper": "wayper", "xremap-flake": "xremap-flake" @@ -2005,7 +2121,7 @@ "rust-overlay_4": { "inputs": { "flake-utils": "flake-utils_9", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1681697975, @@ -2222,7 +2338,7 @@ "inputs": { "devshell": "devshell", "nci": "nci", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "parts": "parts_2", "rust-overlay": "rust-overlay_4" }, @@ -2244,18 +2360,18 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1692976565, - "narHash": "sha256-eBKkG7tMxg92NskEn8dHRFY245JwjirWRoOZzW6DnUw=", + "lastModified": 1706359063, + "narHash": "sha256-5HUTG0p+nCJv3cn73AmFHRZdfRV5AD5N43g8xAePSKM=", "owner": "wlroots", "repo": "wlroots", - "rev": "717ded9bb0191ea31bf4368be32e7a15fe1b8294", + "rev": "00b869c1a96f300a8f25da95d624524895e0ddf2", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "717ded9bb0191ea31bf4368be32e7a15fe1b8294", + "rev": "00b869c1a96f300a8f25da95d624524895e0ddf2", "type": "gitlab" } }, @@ -2300,6 +2416,7 @@ "hyprland", "hyprland-protocols" ], + "hyprlang": "hyprlang", "nixpkgs": [ "hyprland", "nixpkgs" @@ -2310,11 +2427,11 @@ ] }, "locked": { - "lastModified": 1691841170, - "narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=", + "lastModified": 1706145785, + "narHash": "sha256-j9MP4fv2U/vdRKAXXc2gyMTmYwVnHP6kHx1/y6jprrU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b", + "rev": "5a592647587cd20b9692a347df6939b6d371b3bb", "type": "github" }, "original": { @@ -2376,10 +2493,10 @@ "inputs": { "crane": "crane_3", "devshell": "devshell_2", - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "home-manager": "home-manager_2", "hyprland": "hyprland_2", - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_15", "xremap": "xremap" }, "locked": { diff --git a/flake.nix b/flake.nix index 280e877..0fd5800 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,11 @@ inputs = { # Nixpkgs unstable nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + haumea = { + url = "github:nix-community/haumea/v0.2.2"; + inputs.nixpkgs.follows = "nixpkgs"; + }; impermanence.url = "github:nix-community/impermanence"; lanzaboote = { @@ -16,12 +21,13 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; hyprland = { - url = "github:hyprwm/Hyprland/v0.29.1"; + url = "github:hyprwm/Hyprland/v0.35.0"; inputs.nixpkgs.follows = "nixpkgs"; # MESA/OpenGL HW workaround }; anyrun.url = "github:Kirottu/anyrun"; anyrun.inputs.nixpkgs.follows = "nixpkgs"; xremap-flake.url = "github:xremap/nix-flake"; + ags.url = "github:Aylur/ags"; homeage.url = "github:jordanisaacs/homeage"; homeage.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/home-manager/graphical.nix b/home-manager/graphical.nix index ce5329f..727e264 100644 --- a/home-manager/graphical.nix +++ b/home-manager/graphical.nix @@ -14,6 +14,7 @@ in { ./hyprland.nix ./dunst.nix ./rofi.nix + ./modules/tools/fonts.nix ]; options.graphical = { enable = mkOption { @@ -25,17 +26,6 @@ in { config = mkIf (cfg.enable) { home = { packages = with pkgs; [ - # fonts - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - liberation_ttf - fira-code - fira-code-symbols - jetbrains-mono - (nerdfonts.override {fonts = ["JetBrainsMono" "FiraCode" "Noto"];}) - iosevka-custom - #desktop apps tdesktop chromium @@ -44,7 +34,6 @@ in { obsidian zathura foliate - teams (vivaldi.override { proprietaryCodecs = true; enableWidevine = true; @@ -53,8 +42,8 @@ in { logseq # prismlauncher - inputs.prismlauncher.packages.${pkgs.system}.prismlauncher - osu-lazer + #inputs.prismlauncher.packages.${pkgs.system}.prismlauncher + #osu-lazer gamescope mangohud scrcpy @@ -65,6 +54,7 @@ in { }; fonts.fontconfig.enable = true; + modules.tools.fonts.enable = true; services.easyeffects.enable = true; diff --git a/home-manager/hyprland.conf b/home-manager/hyprland.conf index 7997f7e..270ac3d 100644 --- a/home-manager/hyprland.conf +++ b/home-manager/hyprland.conf @@ -12,7 +12,7 @@ input { general { gaps_in = 5 - gaps_out = 20 + gaps_out = 25 border_size = 2 col.active_border=rgb(f5bde6) #pin @@ -24,8 +24,7 @@ general { } decoration { - rounding = 1.0 - multisample_edges = true + rounding = 10 blur { enabled = true @@ -40,13 +39,15 @@ decoration { } animations { - enabled = 1.0 - animation = windows,1,7,default - animation = border,1,10,default - animation = fade,1,10,default - animation = workspaces,1,6,default + enabled = true + first_launch_animation = true } +animation = windows,1,7,default +animation = border,1,10,default +animation = fade,1,10,default +animation = workspaces,1,6,default + master { new_is_master = true mfact = 0.7 @@ -55,7 +56,8 @@ master { } gestures { - workspace_swipe=no + workspace_swipe=true + workspace_swipe_fingers=4 } #monitor = ,preferred,auto,1 @@ -63,6 +65,7 @@ monitor = eDP-1,preferred,auto,1 monitor = HDMI-A-1, 1920x1080,auto,1 monitor = DP-1,preferred,auto,1 monitor = DP-1,transform,1 +monitor=eDP-1,addreserved,0,0,0,50 workspace=1,monitor:eDP-1 workspace=3,monitor:eDP-1 @@ -206,4 +209,6 @@ bind=SUPERSHIFT,Z,movecurrentworkspacetomonitor,+1 exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store #Stores only image data +exec-once=/usr/bin/dunst +exec-once=/usr/lib/polkit-kde-authentication-agent-1 bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy diff --git a/home-manager/hyprland.nix b/home-manager/hyprland.nix index 4207c79..b3ed8f5 100644 --- a/home-manager/hyprland.nix +++ b/home-manager/hyprland.nix @@ -50,8 +50,7 @@ in { wayland.windowManager.hyprland = { enable = true; - systemdIntegration = true; - recommendedEnvironment = true; + systemd.enable = true; extraConfig = builtins.readFile ./hyprland.conf; # package = pkgs.hyprland-hidpi; }; diff --git a/home-manager/luqman-desktop.nix b/home-manager/luqman-desktop.nix index f4da526..ff79705 100644 --- a/home-manager/luqman-desktop.nix +++ b/home-manager/luqman-desktop.nix @@ -12,6 +12,8 @@ # Or modules exported from other flakes (such as nix-colors): # inputs.nix-colors.homeManagerModules.default + ./modules/wayland-shell/ags + ./modules/browsers/firefox.nix ./nvim/lazyvim-nvim.nix ./graphical.nix ./emacs.nix @@ -52,7 +54,7 @@ allowUnfree = true; # Workaround for https://github.com/nix-community/home-manager/issues/2942 allowUnfreePredicate = _: true; - permittedInsecurePackages = ["electron-11.5.0"]; + permittedInsecurePackages = ["electron-11.5.0" "electron-25.9.0"]; }; }; @@ -89,9 +91,9 @@ # home manager please manage yourself programs.home-manager.enable = true; - programs.firefox = { - enable = true; - }; + modules.browsers.firefox.enable = true; + + modules.wayland-shell.ags.enable = true; programs.starship = { enable = true; diff --git a/home-manager/modules/browsers/default.nix b/home-manager/modules/browsers/default.nix new file mode 100644 index 0000000..b9bf52c --- /dev/null +++ b/home-manager/modules/browsers/default.nix @@ -0,0 +1,3 @@ +{ + firefox = import ./firefox.nix; +} diff --git a/home-manager/modules/browsers/firefox.nix b/home-manager/modules/browsers/firefox.nix new file mode 100644 index 0000000..2774ad9 --- /dev/null +++ b/home-manager/modules/browsers/firefox.nix @@ -0,0 +1,30 @@ +{ + inputs, + outputs, + config, + pkgs, + lib, + ... +}: +with lib; let + cfg = config.modules.browsers.firefox; +in { + imports = []; + + options.modules.browsers.firefox = { + enable = mkEnableOption "enable firefox browser"; + }; + + config = mkMerge [ + (mkIf (cfg.enable) { + programs.firefox = { + enable = true; + profiles."solemnattic" = { + name = "solemnattic"; + isDefault = true; + }; + }; + # xdg.configFile."zellij/config.kdl".source = ./config.kdl; + }) + ]; +} diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix new file mode 100644 index 0000000..e49ca1e --- /dev/null +++ b/home-manager/modules/default.nix @@ -0,0 +1,4 @@ +{ + # browsers = ./browsers; + wayland-shell = ./wayland-shell; +} diff --git a/home-manager/modules/modules.nix b/home-manager/modules/modules.nix new file mode 100644 index 0000000..b5f0939 --- /dev/null +++ b/home-manager/modules/modules.nix @@ -0,0 +1,14 @@ +{ + inputs, + pkgs, + lib, + config, + ... +}: { + modules = inputs.haumea.lib.load { + src = ./modules; + inputs = { + inherit pkgs lib inputs config; + }; + }; +} diff --git a/home-manager/modules/tools/fonts.nix b/home-manager/modules/tools/fonts.nix index 62d8a69..eded302 100644 --- a/home-manager/modules/tools/fonts.nix +++ b/home-manager/modules/tools/fonts.nix @@ -22,7 +22,7 @@ in { fira-code-symbols jetbrains-mono (nerdfonts.override {fonts = ["JetBrainsMono" "FiraCode" "Noto"];}) - iosevka-custom + iosevka-solemnattic fontconfig ]; diff --git a/home-manager/modules/wayland-shell/ags/ags-config/config.js b/home-manager/modules/wayland-shell/ags/ags-config/config.js new file mode 100644 index 0000000..c2265e8 --- /dev/null +++ b/home-manager/modules/wayland-shell/ags/ags-config/config.js @@ -0,0 +1,13 @@ +const date = Variable("", { + poll: [1000, "date"], +}); + +const Bar = (monitor = 0) => Widget.Window({ + name: 'bar${monitor}', + anchor : ["left" "top" "right"], + child: Widget.Label({label: date.bind()}) +}) + +export default { + windows: [Bar(0)], +}; diff --git a/home-manager/modules/wayland-shell/ags/default.nix b/home-manager/modules/wayland-shell/ags/default.nix new file mode 100644 index 0000000..fbc5d81 --- /dev/null +++ b/home-manager/modules/wayland-shell/ags/default.nix @@ -0,0 +1,25 @@ +{ + inputs, + lib, + config, + pkgs, + ... +}: +with lib; let + cfg = config.modules.wayland-shell.ags; +in { + imports = [inputs.ags.homeManagerModules.default]; + + options.modules.wayland-shell.ags = { + enable = mkEnableOption "enable ags shell"; + }; + + config = mkMerge [ + (mkIf (cfg.enable) { + programs.ags = { + enable = true; + # configDir = ./ags-config; + }; + }) + ]; +} diff --git a/home-manager/modules/wayland-shell/default.nix b/home-manager/modules/wayland-shell/default.nix new file mode 100644 index 0000000..88722cf --- /dev/null +++ b/home-manager/modules/wayland-shell/default.nix @@ -0,0 +1,3 @@ +{ + ags = import ./ags; +} diff --git a/nixos/asuna.nix b/nixos/asuna.nix index 62102e8..df2726e 100644 --- a/nixos/asuna.nix +++ b/nixos/asuna.nix @@ -16,22 +16,22 @@ # This is disabled to let lanzaboote manage it # Use the systemd-boot EFI boot loader. - # boot.loader.systemd-boot.enable = true; - # boot.loader.systemd-boot.configurationLimit = 10; - # boot.loader.efi.canTouchEfiVariables = true; + boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.configurationLimit = 10; + boot.loader.efi.canTouchEfiVariables = true; # boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_2; - # use the latest xanmod kerner - boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; + # use the latest xanmod kernel + boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen; # use the experimental bootspec - boot.bootspec.enable = true; - boot.loader.systemd-boot.enable = lib.mkForce false; - boot.lanzaboote = { - enable = true; - pkiBundle = "/etc/secureboot"; - configurationLimit = 10; - }; + # boot.bootspec.enable = true; + # boot.loader.systemd-boot.enable = lib.mkForce false; + # boot.lanzaboote = { + # enable = true; + # pkiBundle = "/etc/secureboot"; + # configurationLimit = 10; + # }; networking.hostName = "asuna"; # Define your hostname. networking.networkmanager.enable = true; @@ -307,28 +307,28 @@ algorithm = "zstd"; }; - # warning, here there be dragons - # use impermanence - environment.persistence."/persist" = { - # hideMounts = true; - directories = [ - "/etc/NetworkManager/system-connections" - "/etc/nixos" - "/etc/secureboot" - "/usr/share/waydroid-extra" - ]; - - files = [ - # "/etc/NIXOS" - "/etc/machine-id" - "/root/.local/share/nix/trusted-settings.json" - /* - "/var/lib/NetworkManger/secret_key" - "/var/lib/NetworkManger/seen_bssids" - "/var/lib/NetworkManger/timestamps" - */ - ]; - }; + # # warning, here there be dragons + # # use impermanence + # environment.persistence."/persist" = { + # # hideMounts = true; + # directories = [ + # "/etc/NetworkManager/system-connections" + # "/etc/nixos" + # "/etc/secureboot" + # "/usr/share/waydroid-extra" + # ]; + # + # files = [ + # # "/etc/NIXOS" + # "/etc/machine-id" + # "/root/.local/share/nix/trusted-settings.json" + # /* + # "/var/lib/NetworkManger/secret_key" + # "/var/lib/NetworkManger/seen_bssids" + # "/var/lib/NetworkManger/timestamps" + # */ + # ]; + # }; systemd.tmpfiles.rules = [ "L+ /lib/${builtins.baseNameOf pkgs.stdenv.cc.bintools.dynamicLinker} - - - - ${pkgs.stdenv.cc.bintools.dynamicLinker}" diff --git a/nixos/hw-conf/asuna-hc.nix b/nixos/hw-conf/asuna-hc.nix index 32270e3..c645f04 100644 --- a/nixos/hw-conf/asuna-hc.nix +++ b/nixos/hw-conf/asuna-hc.nix @@ -1,178 +1,62 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ - pkgs, - config, - lib, - modulesPath, - ... -}: let - KEY1 = "4721-F86B"; -in { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "uas" "usbcore" "vfat" "nls_cp437" "nls_iso8859_1"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; - boot.kernelParams = ["resume_offset=7873792"]; - boot.extraModulePackages = []; - boot.supportedFilesystems = ["btrfs" "ext4"]; - boot.extraModprobeConfig = '' - options snd-hda-intel model=auto,dell-headset-multi - options hid_apple swap_fn_leftctrl=1 - options hid_apple swap_opt_cmd=1 - ''; - boot.resumeDevice = "/dev/mapper/enc"; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=root" "compress=zstd" "noatime"]; - }; - - # refer to https://nixos.wiki/wiki/Full_Disk_Encryption - boot.initrd.postDeviceCommands = pkgs.lib.mkBefore '' - mkdir -m 0755 -p /key - sleep 2 # To make sure the usb key has been loaded - mount -n -t vfat -o ro `findfs UUID=${KEY1}` /key - ''; - - boot.initrd.luks.devices."enc" = { - device = "/dev/disk/by-uuid/2f22d311-7714-4816-a444-39c1b87fbe20"; - keyFile = "/key/suikey.jpg"; - fallbackToPassword = true; - preLVM = false; - postOpenCommands = pkgs.lib.mkBefore '' - umount /key - - mkdir -p /mnt - - # We first mount the btrfs root to /mnt - # so we can manipulate btrfs subvolumes. - mount -o subvol=/ /dev/mapper/enc /mnt - - # While we're tempted to just delete /root and create - # a new snapshot from /root-blank, /root is already - # populated at this point with a number of subvolumes, - # which makes `btrfs subvolume delete` fail. - # So, we remove them first. - # - # /root contains subvolumes: - # - /root/var/lib/portables - # - /root/var/lib/machines - # - # I suspect these are related to systemd-nspawn, but - # since I don't use it I'm not 100% sure. - # Anyhow, deleting these subvolumes hasn't resulted - # in any issues so far, except for fairly - # benign-looking errors from systemd-tmpfiles. - btrfs subvolume list -o /mnt/root | - cut -f9 -d' ' | - while read subvolume; do - echo "deleting /$subvolume subvolume..." - btrfs subvolume delete "/mnt/$subvolume" - done && - echo "deleting /root subvolume..." && - btrfs subvolume delete /mnt/root - - echo "restoring blank /root subvolume..." - btrfs subvolume snapshot /mnt/root-blank /mnt/root - - # Once we're done rolling back to a blank snapshot, - # we can unmount /mnt and continue on the boot process. - echo "unmounting /mnt ..." - umount /mnt - ''; - }; +{ config, lib, pkgs, modulesPath, ... }: - fileSystems."/home" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=home" "compress=zstd" "noatime"]; - }; - - fileSystems."/nix" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=nix" "compress=zstd" "noatime"]; - }; - - fileSystems."/persist" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=persist" "compress=zstd" "noatime"]; - neededForBoot = true; - }; - - fileSystems."/var/log" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=log" "compress=zstd" "noatime"]; - neededForBoot = true; - }; - - fileSystems."/var/lib" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=var_lib" "compress=zstd" "noatime"]; - }; - - fileSystems."/swap" = { - device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; - fsType = "btrfs"; - options = ["subvol=swap" "nodatacow" "compress=none" "noatime"]; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/E8FE-853C"; - fsType = "vfat"; - }; - fileSystems."/mnt/windowsd" = { - device = "/dev/disk/by-uuid/DA1AAC921AAC6CE7"; - fsType = "ntfs3"; - options = ["user" "noatime" "exec" "umask=000"]; - }; - - # currently mounting this disk here is bugged - /* - fileSystems."/mnt/usbdrive" = { - device = "/dev/disk/by-uuid/26F8-062F"; - fsType = "exfat"; - options = [ - "user" - "rw" - "noatime" - "nofail" - "noauto" - "exec" - "async" - "suid" - "dev" +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") ]; - }; - */ - - fileSystems."/mnt/usb" = { - device = "/dev/disk/by-uuid/F53F-38F3"; - fsType = "exfat"; - options = ["defaults" "user" "rw" "noatime" "nofail" "noauto"]; - }; - swapDevices = [ - { - device = "/swap/swapfile"; - } - ]; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; + fsType = "btrfs"; + options = [ "subvol=root" "compress=zstd" "noatime"]; + }; + + boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/2f22d311-7714-4816-a444-39c1b87fbe20"; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; + fsType = "btrfs"; + options = [ "subvol=home" "compress=zstd" "noatime"]; + }; + + fileSystems."/var/log" = + { device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; + fsType = "btrfs"; + options = [ "subvol=var/log" "compress=zstd" "noatime"]; + }; + + fileSystems."/var/lib" = + { device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; + fsType = "btrfs"; + options = [ "subvol=var/lib" "compress=zstd" "noatime"]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/4552826e-cbe0-43c4-abd4-1d86248ac5ab"; + fsType = "btrfs"; + options = [ "subvol=nix" "compress=zstd" "noatime" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/E8FE-853C"; + fsType = "vfat"; + }; + + swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; - networking.hostId = "9ced23ef"; # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; diff --git a/pkgs/default.nix b/pkgs/default.nix index dc45ac1..9f079c3 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -4,13 +4,14 @@ # example = pkgs.callPackage ./example { }; a2ln = pkgs.callPackage ./a2ln.nix {buildPythonApplication = pkgs.python3Packages.buildPythonApplication;}; operaone = pkgs.callPackage ./operaone.nix {}; - iosevka-custom = pkgs.callPackage ./iosevka.nix { + iosevka-solemnattic = pkgs.callPackage ./iosevka.nix { privateBuildPlan = '' [buildPlans.iosevka-solemn-attic] - family = "Iosevka SolemnAttic" - spacing = "fontconfig-mono" - serifs = "slab" - export-glyph-names = true + family = "Iosevka SolemnAttic" + spacing = "fontconfig-mono" + serifs = "sans" + noCvSs = true + exportGlyphNames = true ''; }; set = "solemn-attic"; diff --git a/pkgs/iosevka.nix b/pkgs/iosevka.nix index bbad3e7..9bd6a2a 100644 --- a/pkgs/iosevka.nix +++ b/pkgs/iosevka.nix @@ -54,16 +54,16 @@ assert (extraParameters != null) -> set != null; if set != null then "iosevka-${set}" else "iosevka"; - version = "26.3.2"; + version = "28.1.0"; src = fetchFromGitHub { owner = "be5invis"; repo = "iosevka"; rev = "v${version}"; - hash = "sha256-w+D3ehgIB/qzvD5pc4Tr5Ct6EIJuzdVaBhKPLFf9LZA="; + hash = "sha256-dqXr/MVOuEmAMueaRWsnzY9MabhnyBRtLR9IDVLN79I="; }; - npmDepsHash = "sha256-2gf61TtqiTxxeFy0UEMf/EJQotT+dLuHhhLVVJztu08="; + npmDepsHash = "sha256-bux8aFBP1Pi5pAQY1jkNTqD2Ny2j+QQs+QRaXWJj6xg="; nativeBuildInputs = [ @@ -113,13 +113,11 @@ assert (extraParameters != null) -> set != null; runHook postConfigure ''; - # npm run build --no-update-notifier --max_executable_size=4096 --max-old-space-size=1000 -- --max-old-space-size=1000 --jCmd=4 --max_executable_size=4096 --verbose=9 ttf::$pname - # npm run build --no-update-notifier -- --verbose=9 ttf::$pname buildPhase = '' export NODE_OPTIONS="--max-old-space-size=1000" export HOME=$TMPDIR runHook preBuild - npm run build --no-update-notifier -- --verbose=9 ttf::$pname + npm run build --no-update-notifier -- --jCmd=4 --verbose=9 ttf::$pname runHook postBuild ''; @@ -145,8 +143,6 @@ assert (extraParameters != null) -> set != null; license = licenses.ofl; platforms = platforms.all; maintainers = with maintainers; [ - cstrahan - jfrankenau ttuegel babariviere rileyinman