diff --git a/_sources/generated.nix b/_sources/generated.nix index 6bc61e9..b73d2f5 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix @@ -1,8 +1,5 @@ # This file was generated by nvfetcher, please do not modify it manually. -{ - fetchFromGitHub, - dockerTools, -}: { +{fetchFromGitHub}: { linux-wallpaperengine-latest = { pname = "linux-wallpaperengine-latest"; version = "13cc080410444ea72cceebdd5ea0ae7c23dd2270"; diff --git a/flake.in.nix b/flake.in.nix index 203d2f1..fe952ed 100644 --- a/flake.in.nix +++ b/flake.in.nix @@ -1,29 +1,38 @@ { inputs = let - mkCustomUrl = url: { - inherit url; - }; + mkCustomUrl = url: {inherit url;}; - mkInput = url: { - url = "github:${url}"; - }; + mkInput = url: {url = "github:${url}";}; mkFollowingNixpkgs = url: { url = "github:${url}"; inputs.nixpkgs.follows = "nixpkgs"; }; + + mkFollowing = url: input: { + url = "github:${url}"; + inputs.${input}.follows = input; + }; + + mkWithSubmodules = url: { + inherit url; + submodules = true; + type = "git"; + }; in { agenix = mkInput "ryantm/agenix"; catppuccin = mkInput "catppuccin/nix"; chaotic = mkInput "chaotic-cx/nyx/nyxpkgs-unstable"; + hyprland = mkWithSubmodules "https://github.com/hyprwm/Hyprland"; + hyprland-plugins = mkFollowing "hyprwm/hyprland-plugins" "hyprland"; impermanence = mkInput "nix-community/impermanence"; - nixpkgs = mkInput "arianvp/nixpkgs/soft-reboot"; + nix-colors = mkInput "Misterio77/nix-colors"; + nixpkgs = mkInput "NixOS/nixpkgs/nixos-unstable"; nix-super = mkCustomUrl "git+https://git.privatevoid.net/max/nix-super.git"; nixvim = mkInput "pupbrained/nixvim"; schizofox = mkInput "schizofox/schizofox"; sops-nix = mkInput "Mic92/sops-nix"; treefmt-nix = mkInput "numtide/treefmt-nix"; - xmonad-contrib = mkInput "xmonad/xmonad-contrib"; home-manager = mkFollowingNixpkgs "nix-community/home-manager"; nix-index-database = mkFollowingNixpkgs "nix-community/nix-index-database"; @@ -50,8 +59,43 @@ overlays = [ snowfall-flake.overlays.default - (_: _: { + + (_final: prev: { nixSuper = nix-super.packages.${system}.default; + + ccacheWrapper = prev.ccacheWrapper.override { + extraConfig = '' + export CCACHE_COMPRESS=1 + export CCACHE_DIR="${config.programs.ccache.cacheDir}" + export CCACHE_UMASK=007 + if [ ! -d "$CCACHE_DIR" ]; then + echo "=====" + echo "Directory '$CCACHE_DIR' does not exist" + echo "Please create it with:" + echo " sudo mkdir -m0770 '$CCACHE_DIR'" + echo " sudo chown root:nixbld '$CCACHE_DIR'" + echo "=====" + exit 1 + fi + if [ ! -w "$CCACHE_DIR" ]; then + echo "=====" + echo "Directory '$CCACHE_DIR' is not accessible for user $(whoami)" + echo "Please verify its access permissions" + echo "=====" + exit 1 + fi + ''; + }; + + picom = prev.picom.overrideAttrs { + src = prev.fetchFromGitHub { + owner = "yshui"; + repo = "picom"; + rev = "94faacbd4ac917cca5abac3ac5c539f5fe1dc61d"; + hash = "sha256-KfMy8lV3FMS+AWDozlpPRkXX1eZCWsj39Y5T8q+c9Bs="; + fetchSubmodules = true; + }; + }; }) ]; @@ -65,21 +109,20 @@ }; homes.modules = [ - chaotic.homeManagerModules.default catppuccin.homeManagerModules.catppuccin + chaotic.homeManagerModules.default + hyprland.homeManagerModules.default + nix-colors.homeManagerModules.default nix-index-database.hmModules.nix-index schizofox.homeManagerModules.default ]; - systems.modules.nixos = - [ - agenix.nixosModules.default - catppuccin.nixosModules.catppuccin - chaotic.nixosModules.default - impermanence.nixosModules.impermanence - xmonad-contrib.modernise.${system} - ] - ++ xmonad-contrib.nixosModules; + systems.modules.nixos = [ + agenix.nixosModules.default + catppuccin.nixosModules.catppuccin + chaotic.nixosModules.default + impermanence.nixosModules.impermanence + ]; devShells.${system}.default = with pkgs; mkShellNoCC { diff --git a/flake.lock b/flake.lock index fb070c2..fb2aca8 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1715290355, - "narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=", + "lastModified": 1716561646, + "narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=", "owner": "ryantm", "repo": "agenix", - "rev": "8d37c5bdeade12b6479c85acd133063ab53187a0", + "rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9", "type": "github" }, "original": { @@ -54,13 +54,29 @@ "url": "https://flakehub.com/f/zhaofengli/attic/0.1.%2A.tar.gz" } }, + "base16-schemes": { + "flake": false, + "locked": { + "lastModified": 1696158499, + "narHash": "sha256-5yIHgDTPjoX/3oDEfLSQ0eJZdFL1SaCfb9d6M0RmOTM=", + "owner": "tinted-theming", + "repo": "base16-schemes", + "rev": "a9112eaae86d9dd8ee6bb9445b664fba2f94037a", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-schemes", + "type": "github" + } + }, "catppuccin": { "locked": { - "lastModified": 1715659881, - "narHash": "sha256-emodPGTXLVqlcOkqbJiOUkf5vo8WWujgzKxms1B+iBs=", + "lastModified": 1716337435, + "narHash": "sha256-eZqH1vLI9eKL/N5toXxOrQO80G0y4pWZrYCp472YBVQ=", "owner": "catppuccin", "repo": "nix", - "rev": "d6344610c04af0f8e315fef45dd3b854014b119e", + "rev": "fea5242c0eacc5efa81be0e36206a62e889dbd82", "type": "github" }, "original": { @@ -89,11 +105,11 @@ "yafas": "yafas" }, "locked": { - "lastModified": 1715779363, - "narHash": "sha256-7xZ8UXV3/8PsUeekBZY/o8Lagi5mOMKMiIufda1A0ts=", + "lastModified": 1716816472, + "narHash": "sha256-u+Ub8IHGEIxj0gwpCXds4cWIc+hkTlRBL9RCBY/daNA=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "ccbdce844a8e70b64d714159c558a52b13c8881d", + "rev": "a6f43e450d97eece8757e6cb6136f4cd4f141a3b", "type": "github" }, "original": { @@ -106,7 +122,7 @@ "codeium": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1714765312, @@ -139,11 +155,11 @@ "complement": { "flake": false, "locked": { - "lastModified": 1714661560, - "narHash": "sha256-E1ZiUbOgo7rWo8zt2M2vzCVSykCxK0Ot2dUAxTL6cpU=", + "lastModified": 1715700731, + "narHash": "sha256-cie+b5N/TQAFD8vF/XbqfyFJkFU0qUPDbtJQDm/TfQc=", "owner": "matrix-org", "repo": "complement", - "rev": "370a014dca0f720614e0c8f68b9a3e66ecf7f516", + "rev": "8587fb3cbe746754b2c883ff6c818ca4d987d0a5", "type": "github" }, "original": { @@ -176,6 +192,7 @@ "chaotic", "flake-utils" ], + "liburing": "liburing", "nix-filter": [ "chaotic", "nix-filter" @@ -187,11 +204,11 @@ "rocksdb": "rocksdb" }, "locked": { - "lastModified": 1715543662, - "narHash": "sha256-Y+Joq1pMcbVi7qhAyExmd2KRmU0SYx8osUCOy1XnB3s=", + "lastModified": 1716800097, + "narHash": "sha256-A8AXq7GqwLNOwCP6UyHzrusf2he6IYlD363/SrBKgts=", "owner": "girlbossceo", "repo": "conduwuit", - "rev": "434b5118cc41b3359b502794bf3d39583d5f9e26", + "rev": "6ccf578437a42cf8f32a454ca99b78df23cfa4dc", "type": "github" }, "original": { @@ -208,12 +225,12 @@ ] }, "locked": { - "lastModified": 1714842444, - "narHash": "sha256-z4HeSYtEdYxKurrbxCMb8v/I1LYDHR/aFrZtGtgUgHw=", - "rev": "c5ee4371eea1728ef04bb09c79577c84d5e67a48", - "revCount": 557, + "lastModified": 1716745752, + "narHash": "sha256-8K1R9Yg4r08rYk86Yq+lu3E9L3uRUb4xMqYHgl0VGS0=", + "rev": "19ca94ec2d288de334ae932107816b4a97736cd8", + "revCount": 575, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/ipetkov/crane/0.16.6/018f4495-627e-7385-b537-81f1c1d4003b/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/ipetkov/crane/0.17.2/018fb607-1f2c-764b-bd8d-5ea0dd2a7665/source.tar.gz" }, "original": { "type": "tarball", @@ -266,7 +283,7 @@ }, "devshell": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixvim", "nixvim", @@ -340,6 +357,20 @@ } }, "flake-compat_3": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -355,20 +386,6 @@ "type": "github" } }, - "flake-compat_4": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, "flake-compat_5": { "flake": false, "locked": { @@ -397,27 +414,12 @@ }, "original": { "owner": "edolstra", + "ref": "v1.0.1", "repo": "flake-compat", "type": "github" } }, "flake-compat_7": { - "flake": false, - "locked": { - "lastModified": 1668681692, - "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "009399224d5e398d03b22badca40a37ac85412a1", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_8": { "flake": false, "locked": { "lastModified": 1650374568, @@ -433,7 +435,7 @@ "type": "github" } }, - "flake-compat_9": { + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1650374568, @@ -474,16 +476,16 @@ "inputs": { "nixpkgs-lib": [ "nixvim", - "neovim-nightly-overlay", + "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1714641030, - "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "type": "github" }, "original": { @@ -493,50 +495,6 @@ } }, "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "nixvim", - "neovim-nightly-overlay", - "hercules-ci-effects", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": [ - "nixvim", - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1714641030, - "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "schizofox", @@ -557,9 +515,9 @@ "type": "github" } }, - "flake-parts_6": { + "flake-parts_4": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1698882062, @@ -626,73 +584,39 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_8" + "flake-utils": "flake-utils_6" }, "locked": { - "lastModified": 1657226504, - "narHash": "sha256-GIYNjuq4mJlFgqKsZ+YrgzWm0IpA4axA3MCrdKYj7gs=", + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "rev": "2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", "type": "github" }, "original": { "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", "type": "github" } }, "flake-utils-plus_2": { "inputs": { - "flake-utils": "flake-utils_9" + "flake-utils": "flake-utils_7" }, "locked": { - "lastModified": 1696331477, - "narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=", + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", "type": "github" }, "original": { "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "type": "github" - } - }, - "flake-utils_10": { - "inputs": { - "systems": "systems_11" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_11": { - "inputs": { - "systems": "systems_12" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", "type": "github" } }, @@ -713,7 +637,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1701680307, @@ -731,7 +655,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1710146030, @@ -748,24 +672,6 @@ } }, "flake-utils_5": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_6": { "inputs": { "systems": "systems_7" }, @@ -783,25 +689,7 @@ "type": "github" } }, - "flake-utils_7": { - "inputs": { - "systems": "systems_8" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_8": { + "flake-utils_6": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -816,9 +704,9 @@ "type": "github" } }, - "flake-utils_9": { + "flake-utils_7": { "inputs": { - "systems": "systems_10" + "systems": "systems_9" }, "locked": { "lastModified": 1694529238, @@ -852,44 +740,6 @@ "type": "github" } }, - "git-ignore-nix": { - "inputs": { - "nixpkgs": "nixpkgs_13" - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "ref": "master", - "repo": "gitignore.nix", - "type": "github" - } - }, - "git-ignore-nix_2": { - "inputs": { - "nixpkgs": "nixpkgs_15" - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "ref": "master", - "repo": "gitignore.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -914,29 +764,6 @@ } }, "hercules-ci-effects": { - "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": [ - "nixvim", - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1713898448, - "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=", - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "type": "github" - } - }, - "hercules-ci-effects_2": { "inputs": { "flake-parts": [ "schizofox", @@ -992,11 +819,11 @@ ] }, "locked": { - "lastModified": 1715486357, - "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", + "lastModified": 1716736760, + "narHash": "sha256-h3RmnNknKYtVA+EvUSra6QAwfZjC2q1G8YA7W0gat8Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", + "rev": "5d151429e1e79107acf6d06dcc5ace4e642ec239", "type": "github" }, "original": { @@ -1012,11 +839,11 @@ ] }, "locked": { - "lastModified": 1715486357, - "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", + "lastModified": 1716847642, + "narHash": "sha256-rjEswRV0o23eBBils8lJXyIGha+l/VjV73IPg+ztxgk=", "owner": "nix-community", "repo": "home-manager", - "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", + "rev": "10c7c219b7dae5795fb67f465a0d86cbe29f25fa", "type": "github" }, "original": { @@ -1034,11 +861,11 @@ ] }, "locked": { - "lastModified": 1715486357, - "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", + "lastModified": 1716448020, + "narHash": "sha256-u1ddoBOILtLVX4NYzqSZ9Qaqusql1M4reLd1fs554hY=", "owner": "nix-community", "repo": "home-manager", - "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", + "rev": "25dedb0d52c20448f6a63cc346df1adbd6ef417e", "type": "github" }, "original": { @@ -1068,6 +895,162 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1716576411, + "narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "hyprcursor": "hyprcursor", + "hyprlang": "hyprlang", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs_3", + "systems": "systems_4", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1716842732, + "narHash": "sha256-b80p4J7OSp9LslyJimj2a4wCCNLdjJL3bIgGt+f9Gz4=", + "ref": "refs/heads/main", + "rev": "722d537a91a9beacf9c12fc1317ff1fbe10ffac5", + "revCount": 4747, + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + } + }, + "hyprland-plugins": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1715722806, + "narHash": "sha256-KrSLG2H3KGELxTFdiBhv8U6D53Q3UsJsQO+KgEabsNA=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "c28d1011f4868c1a1ee80b10d9ee79900686df82", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "xdph", + "nixpkgs" + ], + "systems": [ + "hyprland", + "xdph", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1716473782, + "narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "87d5d984109c839482b88b4795db073eb9ed446f", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1716058375, + "narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "3afed4364790aebe0426077631af1e164a9650cc", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1708968331, @@ -1092,11 +1075,11 @@ ] }, "locked": { - "lastModified": 1715748970, - "narHash": "sha256-CEDUVyPbnWGLG6wx0IjTnUb3U9NPKtIalQd6T6I4Bwc=", + "lastModified": 1716618639, + "narHash": "sha256-H3kcJDVqDmXZ9IfVtqObL3JUx/a0ERn6gWBTn+7vwN4=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "1dd285a38b3f6be8c6f1148841e7c6f12a0acdec", + "rev": "a358c56a163b3b7d149571e853a8f75b2c1ceb38", "type": "github" }, "original": { @@ -1118,11 +1101,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1715717667, - "narHash": "sha256-8jlUZer3z8gZWDp/gVFDq6XRe3icELp6hRclbSHl94U=", + "lastModified": 1716773713, + "narHash": "sha256-++tmVuLwprXWSSq9AmfcZ4MjorMueuO5ThwuTzhp5SE=", "owner": "martinvonz", "repo": "jj", - "rev": "c9b44f382824301e6c0fdd6f4cbc52bb00c50995", + "rev": "a075a5c6cabd493759fc973d99d3fd88feb74735", "type": "github" }, "original": { @@ -1147,50 +1130,20 @@ "type": "github" } }, - "neovim-flake": { - "inputs": { - "flake-utils": "flake-utils_5", - "nixpkgs": [ - "nixvim", - "neovim-nightly-overlay", - "nixpkgs" - ] - }, + "liburing": { + "flake": false, "locked": { - "dir": "contrib", - "lastModified": 1715815279, - "narHash": "sha256-Pf7ZlqPnr195NZb5ADzMVsXurPMjRZ+JMXf6JxvXArE=", - "owner": "neovim", - "repo": "neovim", - "rev": "9ca81b025990911c2a0dbda92af39ba84983bac3", + "lastModified": 1716565485, + "narHash": "sha256-4R19aJNQYs6vb0/Hz4bWT56YN1P1DkFL/sxdE4Yj0CE=", + "owner": "axboe", + "repo": "liburing", + "rev": "b90c0e670a93caabbebe2d9e24ff85cece4cfe0e", "type": "github" }, "original": { - "dir": "contrib", - "owner": "neovim", - "repo": "neovim", - "type": "github" - } - }, - "neovim-nightly-overlay": { - "inputs": { - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_2", - "hercules-ci-effects": "hercules-ci-effects", - "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_6" - }, - "locked": { - "lastModified": 1715817852, - "narHash": "sha256-UH5o7hT72oAavJTG2NxlpMyQe3BQMniQAsgTugWtlc4=", - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "rev": "7b5ca2486bba58cac80b9229209239740b67cf90", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "neovim-nightly-overlay", + "owner": "axboe", + "ref": "master", + "repo": "liburing", "type": "github" } }, @@ -1218,11 +1171,11 @@ ] }, "locked": { - "lastModified": 1715746449, - "narHash": "sha256-JwgeIcNgF9zr7f+TRvjjPC40t5fKlJruzCZpyuSQ/FY=", + "lastModified": 1716744562, + "narHash": "sha256-th1cXNfqbNstk6LNC2siouLQP5N4Ur69iV3idlKj8iE=", "owner": "YaLTeR", "repo": "niri", - "rev": "b87fba2182a0b187c0d991f48d305387d0bea5e3", + "rev": "ae7fb4c4f405aa0ff49930040d414581a812d938", "type": "github" }, "original": { @@ -1231,6 +1184,25 @@ "type": "github" } }, + "nix-colors": { + "inputs": { + "base16-schemes": "base16-schemes", + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1707825078, + "narHash": "sha256-hTfge2J2W+42SZ7VHXkf4kjU+qzFqPeC9k66jAUBMHk=", + "owner": "Misterio77", + "repo": "nix-colors", + "rev": "b01f024090d2c4fc3152cd0cf12027a7b8453ba1", + "type": "github" + }, + "original": { + "owner": "Misterio77", + "repo": "nix-colors", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -1240,11 +1212,11 @@ ] }, "locked": { - "lastModified": 1713946171, - "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", + "lastModified": 1716329735, + "narHash": "sha256-ap51w+VqG21vuzyQ04WrhI2YbWHd3UGz0e7dc/QQmoA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", + "rev": "eac4f25028c1975a939c8f8fba95c12f8a25e01c", "type": "github" }, "original": { @@ -1298,11 +1270,11 @@ ] }, "locked": { - "lastModified": 1715483403, - "narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=", + "lastModified": 1716772633, + "narHash": "sha256-Idcye44UW+EgjbjCoklf2IDF+XrehV6CVYvxR1omst4=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "f9027322f48b427da23746aa359a6510dfcd0228", + "rev": "ff80cb4a11bb87f3ce8459be6f16a25ac86eb2ac", "type": "github" }, "original": { @@ -1316,7 +1288,7 @@ "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "libgit2": "libgit2", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-regression": "nixpkgs-regression", "pre-commit-hooks": "pre-commit-hooks" }, @@ -1340,7 +1312,7 @@ "schizofox", "flake-parts" ], - "hercules-ci-effects": "hercules-ci-effects_2", + "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ "schizofox", "nixpkgs" @@ -1377,6 +1349,21 @@ } }, "nixpkgs-lib": { + "locked": { + "lastModified": 1697935651, + "narHash": "sha256-qOfWjQ2JQSQL15KLh6D7xQhx0qgZlYZTYlcEiRuAMMw=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "e1e11fdbb01113d85c7f41cada9d2847660e3902", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { "locked": { "dir": "lib", "lastModified": 1698611440, @@ -1428,11 +1415,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1715458492, - "narHash": "sha256-q0OFeZqKQaik2U8wwGDsELEkgoZMK7gvfF6tTXkpsqE=", + "lastModified": 1716655032, + "narHash": "sha256-kQ25DAiCGigsNR/Quxm3v+JGXAEXZ8I7RAF4U94bGzE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8e47858badee5594292921c2668c11004c3b0142", + "rev": "59a450646ec8ee0397f5fa54a08573e8240eb91f", "type": "github" }, "original": { @@ -1460,11 +1447,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1715413075, - "narHash": "sha256-FCi3R1MeS5bVp0M0xTheveP6hhcCYfW/aghSTPebYL4=", + "lastModified": 1716651315, + "narHash": "sha256-iMgzIeedMqf30TXZ439zW3Yvng1Xm9QTGO+ZwG1IWSw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4e7a43a9db7e22613accfeb1005cca1b2b1ee0d", + "rev": "c5187508b11177ef4278edf19616f44f21cc8c69", "type": "github" }, "original": { @@ -1490,68 +1477,14 @@ "type": "github" } }, - "nixpkgs_13": { - "locked": { - "lastModified": 1666603677, - "narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "074da18a72269cc5a6cf444dce42daea5649b2fe", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_14": { - "locked": { - "lastModified": 1715125210, - "narHash": "sha256-qLmYVviVnm/Yu05djBsKOy4Cta4ebilpE+QGaS22pnQ=", - "path": "/nix/store/79y4slnls9d1g3v25jb3kigak70w5kg7-source", - "rev": "a9d471e59ac9804d318727b9283c596bf2211efa", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_15": { - "locked": { - "lastModified": 1666603677, - "narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "074da18a72269cc5a6cf444dce42daea5649b2fe", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_16": { - "locked": { - "lastModified": 1715125210, - "narHash": "sha256-qLmYVviVnm/Yu05djBsKOy4Cta4ebilpE+QGaS22pnQ=", - "path": "/nix/store/79y4slnls9d1g3v25jb3kigak70w5kg7-source", - "rev": "a9d471e59ac9804d318727b9283c596bf2211efa", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, "nixpkgs_2": { "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", - "revCount": 625274, + "lastModified": 1716509168, + "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "rev": "bfb7a882678e518398ce9a31a881538679f6f092", + "revCount": 630835, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.625274%2Brev-2057814051972fa1453ddfb0d98badbea9b83c06/018f723e-4a5e-7816-96b4-05d0f382b996/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz" }, "original": { "type": "tarball", @@ -1559,6 +1492,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1716330097, + "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1709083642, "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", @@ -1574,23 +1523,23 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { - "lastModified": 1715125210, - "narHash": "sha256-qLmYVviVnm/Yu05djBsKOy4Cta4ebilpE+QGaS22pnQ=", - "owner": "arianvp", + "lastModified": 1716509168, + "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "a9d471e59ac9804d318727b9283c596bf2211efa", + "rev": "bfb7a882678e518398ce9a31a881538679f6f092", "type": "github" }, "original": { - "owner": "arianvp", - "ref": "soft-reboot", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1702346276, "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", @@ -1606,29 +1555,13 @@ "type": "github" } }, - "nixpkgs_6": { - "locked": { - "lastModified": 1715774670, - "narHash": "sha256-iJYnKMtLi5u6hZhJm94cRNSDG5Rz6ZzIkGbhPFtDRm0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b3fcfcfabd01b947a1e4f36622bbffa3985bdac6", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_7": { "locked": { - "lastModified": 1715839452, - "narHash": "sha256-2RZNfioh+Kki66mTC/YpA1oLTXvhAAQPpruFzr9mIi0=", + "lastModified": 1716626504, + "narHash": "sha256-/+8auPmHkvTzPVZz8IJDFd4IdatQQ/me+QW8LXsOWFc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0fa831ab4b8914a11fb5934ff7710aa3a35d99ba", + "rev": "d091b7f681e8e5c21947e5de45b7f397a57011ae", "type": "github" }, "original": { @@ -1639,11 +1572,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1715447595, - "narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=", + "lastModified": 1716330097, + "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "062ca2a9370a27a35c524dc82d540e6e9824b652", + "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "type": "github" }, "original": { @@ -1673,17 +1606,16 @@ "inputs": { "codeium": "codeium", "flake-utils": "flake-utils_4", - "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_7", "nixvim": "nixvim_2", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1715840692, - "narHash": "sha256-zQeqPyjsnKWZivRciwiMlcDu9XN8CleoVZlbOtGJafE=", + "lastModified": 1716650528, + "narHash": "sha256-+sfNAVyDkA94fGJkofcy4uBbrr3lmFqhY/QBX5ggki8=", "owner": "pupbrained", "repo": "nixvim", - "rev": "5dde07fff16a600f8f2e623c35a24ac4552b50b0", + "rev": "47b77b1d918e746a2cd02fa98c70ea13be8f170b", "type": "github" }, "original": { @@ -1695,8 +1627,8 @@ "nixvim_2": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_4", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_2", "flake-root": "flake-root", "home-manager": "home-manager_4", "nix-darwin": "nix-darwin", @@ -1705,11 +1637,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1715807613, - "narHash": "sha256-3kL4E0Ff9TCvRNxwINzklupY7dcTpl89jTg0PGfBCJc=", + "lastModified": 1716566815, + "narHash": "sha256-WO3MF4W1SrSD0lanU1n7dfuHizeSLfDHJNEir9exlcM=", "owner": "nix-community", "repo": "nixvim", - "rev": "6be28a941b39a7cbe4d34b577bd095548f5d1e15", + "rev": "9d858de2e9ab136d1c53d92af62fed8fccf492ab", "type": "github" }, "original": { @@ -1752,8 +1684,7 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_5", - "flake-utils": "flake-utils_7", + "flake-compat": "flake-compat_4", "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -1767,11 +1698,11 @@ ] }, "locked": { - "lastModified": 1714478972, - "narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=", + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "2849da033884f54822af194400f8dff435ada242", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", "type": "github" }, "original": { @@ -1783,16 +1714,16 @@ "rocksdb": { "flake": false, "locked": { - "lastModified": 1714770052, - "narHash": "sha256-NCPYF2wYBsB9OHEkZSOYoPlxjC9BBMhJp8EM5M1o3Mc=", + "lastModified": 1716773462, + "narHash": "sha256-5kUH+XK+2lbFfUgbxuNy3YMLHbp6scfWPdtc8za1wDM=", "owner": "girlbossceo", "repo": "rocksdb", - "rev": "db6df0b185774778457dabfcbd822cb81760cade", + "rev": "c8a1450231e9c608edf535538dbe8ca1a8d2f3bc", "type": "github" }, "original": { "owner": "girlbossceo", - "ref": "v9.1.1", + "ref": "v9.2.1", "repo": "rocksdb", "type": "github" } @@ -1804,17 +1735,19 @@ "chaotic": "chaotic", "flakegen": "flakegen", "home-manager": "home-manager_3", + "hyprland": "hyprland", + "hyprland-plugins": "hyprland-plugins", "impermanence": "impermanence", + "nix-colors": "nix-colors", "nix-index-database": "nix-index-database", "nix-super": "nix-super", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixvim": "nixvim", "schizofox": "schizofox", "snowfall-flake": "snowfall-flake", "snowfall-lib": "snowfall-lib_2", "sops-nix": "sops-nix", - "treefmt-nix": "treefmt-nix_3", - "xmonad-contrib": "xmonad-contrib" + "treefmt-nix": "treefmt-nix_3" } }, "rust-analyzer-src": { @@ -1863,13 +1796,13 @@ }, "schizofox": { "inputs": { - "flake-compat": "flake-compat_6", - "flake-parts": "flake-parts_5", + "flake-compat": "flake-compat_5", + "flake-parts": "flake-parts_3", "home-manager": "home-manager_5", "nixpak": "nixpak", "nixpkgs": "nixpkgs_10", "searx-randomizer": "searx-randomizer", - "systems": "systems_9" + "systems": "systems_8" }, "locked": { "lastModified": 1714677453, @@ -1888,7 +1821,7 @@ "searx-randomizer": { "inputs": { "crane": "crane_2", - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_4", "nixpkgs": [ "schizofox", "nixpkgs" @@ -1910,18 +1843,18 @@ }, "snowfall-flake": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_6", "nixpkgs": [ "nixpkgs" ], "snowfall-lib": "snowfall-lib" }, "locked": { - "lastModified": 1709228099, - "narHash": "sha256-5CCeUQbIPasl9WIiqZHucHCsf9uFl3VZ7Ay+eNA1GU0=", + "lastModified": 1716675632, + "narHash": "sha256-AOgmoVZvMPUMSlHMrRjWaPykNS5YWxnUNp7STgfjGdA=", "owner": "snowfallorg", "repo": "flake", - "rev": "3dbad05e44aaee77342e386238c823733fffad20", + "rev": "d3b1167f7265d28549930b95b98327c277ef8afd", "type": "github" }, "original": { @@ -1932,7 +1865,7 @@ }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_7", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "snowfall-flake", @@ -1940,33 +1873,34 @@ ] }, "locked": { - "lastModified": 1694679207, - "narHash": "sha256-g6lYb6nXMpxYUVRZNRZPZI+L31xWlwF/r/oWZmiSYpo=", + "lastModified": 1716675292, + "narHash": "sha256-7TFvVE4HR/b65/0AAhewYHEJzUXxIEJn82ow5bCkrDo=", "owner": "snowfallorg", "repo": "lib", - "rev": "8df9cb69f2ee4199c2879baaafce4e13864496a7", + "rev": "5d6e9f235735393c28e1145bec919610b172a20f", "type": "github" }, "original": { "owner": "snowfallorg", + "ref": "v3.0.2", "repo": "lib", "type": "github" } }, "snowfall-lib_2": { "inputs": { - "flake-compat": "flake-compat_9", + "flake-compat": "flake-compat_8", "flake-utils-plus": "flake-utils-plus_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1713814392, - "narHash": "sha256-IanrgtpgDqxGfzNczstspPljAHKaY0e4DGvYgdAwC1Y=", + "lastModified": 1716563019, + "narHash": "sha256-7TFvVE4HR/b65/0AAhewYHEJzUXxIEJn82ow5bCkrDo=", "owner": "snowfallorg", "repo": "lib", - "rev": "91ab40c2e01cc1bade8092604370964ee86e9317", + "rev": "727d634555bc6749c19cce1ac63d56b6400c82ed", "type": "github" }, "original": { @@ -1982,11 +1916,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1715482972, - "narHash": "sha256-y1uMzXNlrVOWYj1YNcsGYLm4TOC2aJrwoUY1NjQs9fM=", + "lastModified": 1716692524, + "narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e", + "rev": "962797a8d7f15ed7033031731d0bb77244839960", "type": "github" }, "original": { @@ -2010,51 +1944,6 @@ "type": "github" } }, - "systems_10": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_11": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_12": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "systems_2": { "locked": { "lastModified": 1689347949, @@ -2087,16 +1976,16 @@ }, "systems_4": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -2146,21 +2035,6 @@ } }, "systems_8": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_9": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -2175,6 +2049,21 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -2184,11 +2073,11 @@ ] }, "locked": { - "lastModified": 1714058656, - "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "lastModified": 1715940852, + "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", "type": "github" }, "original": { @@ -2202,11 +2091,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1714058656, - "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "lastModified": 1715940852, + "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", "type": "github" }, "original": { @@ -2220,11 +2109,11 @@ "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1714058656, - "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "lastModified": 1715940852, + "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", "type": "github" }, "original": { @@ -2233,61 +2122,33 @@ "type": "github" } }, - "unstable": { - "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "xmonad": { + "xdph": { "inputs": { - "flake-utils": "flake-utils_11", - "git-ignore-nix": "git-ignore-nix_2", - "nixpkgs": "nixpkgs_16", - "unstable": "unstable" + "hyprland-protocols": "hyprland-protocols", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] }, "locked": { - "lastModified": 1715596600, - "narHash": "sha256-Njo7xrwJlDi8crWTTX69fBBAtO6zmZCS1CA7GwMgrGE=", - "owner": "xmonad", - "repo": "xmonad", - "rev": "f09d7aa6419f77989cf06a044f58653822e6678f", + "lastModified": 1716290197, + "narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "91e48d6acd8a5a611d26f925e51559ab743bc438", "type": "github" }, "original": { - "owner": "xmonad", - "repo": "xmonad", - "type": "github" - } - }, - "xmonad-contrib": { - "inputs": { - "flake-utils": "flake-utils_10", - "git-ignore-nix": "git-ignore-nix", - "nixpkgs": "nixpkgs_14", - "xmonad": "xmonad" - }, - "locked": { - "lastModified": 1715629600, - "narHash": "sha256-n7d/MUfzJrbFJdtd9IKMJJkOqnEon0jNQW3a0HjIba8=", - "owner": "xmonad", - "repo": "xmonad-contrib", - "rev": "7210251138be285adb44164695716e50079f517b", - "type": "github" - }, - "original": { - "owner": "xmonad", - "repo": "xmonad-contrib", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 2be6e43..0532243 100644 --- a/flake.nix +++ b/flake.nix @@ -10,13 +10,23 @@ inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager"; }; + hyprland = { + submodules = true; + type = "git"; + url = "https://github.com/hyprwm/Hyprland"; + }; + hyprland-plugins = { + inputs.hyprland.follows = "hyprland"; + url = "github:hyprwm/hyprland-plugins"; + }; impermanence.url = "github:nix-community/impermanence"; + nix-colors.url = "github:Misterio77/nix-colors"; nix-index-database = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/nix-index-database"; }; nix-super.url = "git+https://git.privatevoid.net/max/nix-super.git"; - nixpkgs.url = "github:arianvp/nixpkgs/soft-reboot"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixvim.url = "github:pupbrained/nixvim"; schizofox.url = "github:schizofox/schizofox"; snowfall-flake = { @@ -29,7 +39,6 @@ }; sops-nix.url = "github:Mic92/sops-nix"; treefmt-nix.url = "github:numtide/treefmt-nix"; - xmonad-contrib.url = "github:xmonad/xmonad-contrib"; }; outputs = inputs: inputs.flakegen ./flake.in.nix inputs; } \ No newline at end of file diff --git a/homes/x86_64-linux/marshall@navis/default.nix b/homes/x86_64-linux/marshall@navis/default.nix index 147ce88..76ce0cb 100644 --- a/homes/x86_64-linux/marshall@navis/default.nix +++ b/homes/x86_64-linux/marshall@navis/default.nix @@ -4,50 +4,35 @@ inputs, ... }: { + colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha; + home = { packages = with pkgs; [ + duf eternal-terminal - firefox grc iamb jamesdsp jetbrains-toolbox - kdePackages.neochat killall + libnotify lm_sensors + loupe mpv playerctl prismlauncher - quickemu - quickgui telegram-desktop - xdotool + vesktop youki - (xwinwrap.overrideAttrs { - src = fetchFromGitHub { - owner = "camonater62"; - repo = "xwinwrap"; - rev = "ec74e730072225ffa740bf5076a1dd0a343bb113"; - sha256 = "0vfwbcx5y1aphiaix2zps1bl7lhbhdvm6vhys2m0kwvl6igy0cc8"; - }; - - buildPhase = '' - make all - ''; - - installPhase = '' - mkdir -p $out/bin - mv xwinwrap $out/bin - ''; - }) - (vesktop.overrideAttrs {withSystemVencord = false;}) + jetbrains.clion ] ++ (with inputs; [ nixvim.packages.${pkgs.system}.default ]) ++ (with inputs.chaotic.packages.${pkgs.system}; [ distrobox_git + firefox_nightly ]); pointerCursor = { @@ -72,7 +57,7 @@ catppuccin = { enable = true; - flavour = "mocha"; + flavor = "mocha"; accent = "green"; }; @@ -84,7 +69,7 @@ icon.enable = true; cursor.enable = true; size = "standard"; - tweaks = ["normal"]; + tweaks = ["rimless"]; }; }; @@ -92,7 +77,15 @@ nix-index-database.comma.enable = true; nix-index.enable = true; ripgrep.enable = true; - xmobar.enable = true; + + fzf = { + enable = true; + catppuccin.enable = true; + colors = with lib; { + bg = mkForce "-1"; + "bg+" = mkForce "-1"; + }; + }; eza = { enable = true; @@ -109,79 +102,9 @@ enable = true; nix-direnv.enable = true; }; - - rofi = { - enable = true; - catppuccin.enable = true; - - extraConfig = { - modi = "run,drun,window"; - icon-theme = "Oranchelo"; - show-icons = true; - terminal = "wezterm"; - drun-display-format = "{icon} {name}"; - location = 0; - disable-history = false; - hide-scrollbar = true; - display-drun = "  Apps "; - display-run = "  Run "; - display-window = " 󰍲 Window"; - display-Network = " 󰤨 Network"; - sidebar-mode = true; - }; - - theme = { - "*".font = "Maple Mono NF 14"; - }; - }; }; - services = { - picom = { - enable = true; - backend = "glx"; - fadeDelta = 5; - fade = true; - shadow = true; - vSync = true; - - shadowExclude = [ - "class_g = 'firefox' && argb" - "class_g *?= 'slop'" - ]; - - settings = { - corner-radius = 10; - - blur-background-exclude = [ - "class_g = 'slop'" - ]; - - rounded-corners-exclude = [ - "window_type = 'dock'" - "window_type = 'desktop'" - ]; - - blur = { - method = "gaussian"; - size = 10; - deviation = 5.0; - }; - }; - }; - - dunst = { - enable = true; - settings.global = { - corner_radius = 10; - offset = "18x53"; - frame_width = 2; - font = "SN Pro 12"; - frame_color = lib.mkForce "#a6e3a1"; - }; - catppuccin.enable = true; - }; - }; + systemd.user.startServices = "sd-switch"; nix.package = lib.mkForce pkgs.nixSuper; } diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix new file mode 100644 index 0000000..53b8f49 --- /dev/null +++ b/modules/home/hyprland/default.nix @@ -0,0 +1,464 @@ +{ + pkgs, + config, + lib, + ... +}: let + palette = config.colorScheme.palette; + betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)"; +in + with pkgs; { + home.packages = [ + wl-clipboard-rs + ]; + + programs = { + rofi = { + enable = true; + catppuccin.enable = true; + package = pkgs.rofi-wayland; + + extraConfig = { + modi = "run,drun,window"; + icon-theme = "Oranchelo"; + show-icons = true; + terminal = "wezterm"; + drun-display-format = "{icon} {name}"; + location = 0; + disable-history = false; + hide-scrollbar = true; + display-drun = "  Apps "; + display-run = "  Run "; + display-window = " 󰍲 Window"; + display-Network = " 󰤨 Network"; + sidebar-mode = true; + }; + + theme = { + "*".font = "Maple Mono NF 14"; + window.border-radius = 10; + }; + }; + + waybar = { + enable = true; + package = pkgs.waybar; + settings = [ + { + layer = "top"; + position = "top"; + + modules-center = ["hyprland/workspaces"]; + + modules-left = [ + "custom/startmenu" + "hyprland/window" + "pulseaudio" + "cpu" + "memory" + ]; + + modules-right = [ + "network" + "custom/notification" + "tray" + "clock" + ]; + + "hyprland/workspaces" = { + format = "{name}"; + format-icons = { + default = " "; + active = " "; + urgent = " "; + }; + on-scroll-up = "hyprctl dispatch workspace e+1"; + on-scroll-down = "hyprctl dispatch workspace e-1"; + }; + + "clock" = { + format = " {:L%I:%M %p}"; + tooltip = true; + tooltip-format = "{:%A, %d.%B %Y }\n{calendar}"; + }; + + "hyprland/window" = { + max-length = 22; + separate-outputs = false; + rewrite = { + "" = "Desktop"; + }; + }; + + "memory" = { + interval = 5; + format = " {}%"; + tooltip = true; + }; + + "cpu" = { + interval = 5; + format = " {usage:2}%"; + tooltip = true; + }; + + "disk" = { + format = " {free}"; + tooltip = true; + }; + + "network" = { + format-icons = [ + "󰤯" + "󰤟" + "󰤢" + "󰤥" + "󰤨" + ]; + format-ethernet = " {bandwidthDownOctets}"; + format-wifi = "{icon} {essid}"; + format-disconnected = "󰤮"; + tooltip = false; + }; + + "tray" = { + spacing = 12; + }; + + "pulseaudio" = { + format = "{icon} {volume}% {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = "󰅶 {icon} {format_source}"; + format-muted = "󰅶 {format_source}"; + format-source = " {volume}%"; + format-source-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = "󰋎"; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" + ]; + }; + on-click = "sleep 0.1 && pavucontrol"; + }; + + "custom/startmenu" = { + tooltip = false; + format = " "; + on-click = "rofi -show drun"; + }; + + "custom/notification" = { + tooltip = false; + format = "{icon} {}"; + format-icons = { + notification = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + dnd-inhibited-none = ""; + }; + return-type = "json"; + exec = "swaync-client -swb"; + on-click = "swaync-client -t &"; + escape = true; + }; + } + ]; + + style = lib.concatStrings [ + '' + * { + border: none; + border-radius: 0px; + font-family: Maple Mono NF; + font-size: 16px; + min-height: 0px; + } + + window#waybar { + background-color: #${palette.base00}; + } + + #workspaces { + background: #${palette.base01}; + border-radius: 16px; + color: #${palette.base00}; + margin: 4px 4px; + padding: 8px 5px; + } + + #workspaces button { + animation: gradient_horizontal 15s ease infinite; + background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09}); + background-size: 300% 300%; + border-radius: 16px; + color: #${palette.base00}; + font-weight: bold; + margin: 0px 3px; + opacity: 0.5; + padding: 0px 5px; + transition: ${betterTransition}; + } + + #workspaces button.active { + animation: gradient_horizontal 15s ease infinite; + background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09}); + background-size: 300% 300%; + border-radius: 16px; + color: #${palette.base00}; + font-weight: bold; + margin: 0px 3px; + min-width: 40px; + opacity: 1.0; + padding: 0px 5px; + transition: ${betterTransition}; + } + + #workspaces button:hover { + animation: gradient_horizontal 15s ease infinite; + background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09}); + background-size: 300% 300%; + border-radius: 16px; + color: #${palette.base00}; + font-weight: bold; + opacity: 0.8; + transition: ${betterTransition}; + } + + @keyframes gradient_horizontal { + 0% { background-position: 0% 50%; } + 50% { background-position: 100% 50%; } + 100% { background-position: 0% 50%; } + } + + @keyframes swiping { + 0% { background-position: 0% 200%; } + 100% { background-position: 200% 200%; } + } + + tooltip { + background: #${palette.base00}; + border: 1px solid #${palette.base0E}; + border-radius: 12px; + } + + tooltip label { + color: #${palette.base07}; + } + + #window, #pulseaudio, #cpu, #memory, #idle_inhibitor { + background: #${palette.base01}; + border-radius: 24px 10px 24px 10px; + color: #${palette.base05}; + font-weight: bold; + margin: 4px 0px; + margin-left: 7px; + padding: 0px 18px; + } + + #custom-startmenu { + background: #${palette.base01}; + border-radius: 0px 0px 40px 0px; + color: #${palette.base0D}; + font-size: 28px; + margin: 0px; + padding: 0px 30px 0px 15px; + } + + #network, #custom-notification, #tray { + background: #${palette.base01}; + border-radius: 10px 24px 10px 24px; + color: #${palette.base05}; + font-weight: bold; + margin: 4px 0px; + margin-right: 7px; + padding: 0px 18px; + } + + #clock { + animation: gradient_horizontal 15s ease infinite; + background: linear-gradient(45deg, #${palette.base0C}, #${palette.base0F}, #${palette.base0B}, #${palette.base08}); + background-size: 300% 300%; + border-radius: 0px 0px 0px 40px; + color: #${palette.base00}; + font-weight: bold; + margin: 0px; + padding: 0px 15px 0px 30px; + } + '' + ]; + }; + }; + + services = { + udiskie.enable = true; + + swaync = { + enable = true; + style = builtins.fetchurl { + url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css"; + sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy"; + }; + }; + }; + + wayland.windowManager.hyprland = { + enable = true; + systemd.variables = ["--all"]; + + settings = let + mod = "SUPER"; + modC = "SUPER CTRL"; + modS = "SUPER SHIFT"; + + browser = "firefox-nightly"; + colorPicker = "notify-send -i gtk-color-picker $(${hyprpicker}/bin/hyprpicker -a) 'Copied to clipboard.'"; + fileManager = "nautilus"; + launcher = "rofi -show drun"; + terminal = "wezterm"; + + screenshot = mode: "${ + hyprshot.overrideAttrs { + # Fixes cursors showing in region shots + src = pkgs.fetchFromGitHub { + owner = "BenCarmichael01"; + repo = "Hyprshot"; + rev = "84e2adcd5dd9060178d0d028ad032734797fba23"; + hash = "sha256-XDKwBiUMWvxoWpkdJ0EK4kEqPSTZLcF6axHjom3c5Jk="; + }; + } + }/bin/hyprshot --clipboard-only -m ${mode}"; + in { + decoration.rounding = 10; + dwindle.preserve_split = true; + gestures.workspace_swipe = true; + input.touchpad.natural_scroll = true; + + layerrule = [ + "dimaround, rofi" + ]; + + animations = { + enabled = true; + + bezier = [ + "overshot,0.7,0.6,0.1,1.1" + "bounce,1,1.6,0.1,0.85" + ]; + + animation = [ + "windows,1,5,bounce,popin" + "border,1,20,default" + "fade,1,5,default" + "workspaces,1,5,overshot,slide" + ]; + }; + + general = { + border_size = 2; + gaps_in = 10; + resize_on_border = true; + + "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + }; + + exec-once = [ + "waybar" + "${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop' DP-1 ${builtins.toString ./wall.mp4}" + "mullvad connect" + ]; + + misc = { + force_default_wallpaper = 0; + disable_hyprland_logo = true; + }; + + monitor = [ + "eDP-1, disable" + "DP-1, 2560x1440@165, auto, auto" + ]; + + env = [ + # Nvidia stuff + "GBM_BACKEND, nvidia-drm" + "__GLX_VENDOR_LIBRARY_NAME, nvidia" + "LIBVA_DRIVER_NAME, nvidia" + "WLR_DRM_DEVICES, $HOME/.config/hypr/card" + + # Cursors + "HYPRCURSOR_SIZE, 24" + "XCURSOR_SIZE, 24" + ]; + + bindm = [ + "${mod}, mouse:272, movewindow" + "${mod}, mouse:273, resizewindow" + ]; + + bind = + [ + # Apps + "${mod}, c, exec, ${colorPicker}" + "${mod}, w, exec, ${browser}" + "${mod}, e, exec, ${fileManager}" + "${mod}, r, exec, ${launcher}" + "${mod}, Return, exec, ${terminal}" + + # Screenshots + "${modS}, s, exec, ${screenshot "window"}" + "${modC}, 3, exec, ${screenshot "output -c"}" + "${modC}, 4, exec, ${screenshot "region -C 0,0"}" + + # Mouse controls + "${mod}, mouse_down, workspace, e-1" + "${mod}, mouse_up, workspace, e+1" + + # Quitting + "${mod}, q, killactive" + "${modS}, q, exit" + + # Toggles + "${mod}, j, togglesplit" + "${mod}, Space, togglefloating" + + # Focus movements + "${mod}, h, movefocus, l" + "${mod}, j, movefocus, d" + "${mod}, k, movefocus, u" + "${mod}, l, movefocus, r" + + # Window movements + "${modS}, h, movewindow, l" + "${modS}, j, movewindow, d" + "${modS}, k, movewindow, u" + "${modS}, l, movewindow, r" + ] + ++ ( + builtins.concatLists (builtins.genList ( + x: let + ws = let + c = (x + 1) / 10; + in + builtins.toString (x + 1 - (c * 10)); + in [ + # Workspaces + "${mod}, ${ws}, workspace, ${builtins.toString (x + 1)}" + "${modS}, ${ws}, movetoworkspace, ${builtins.toString (x + 1)}" + ] + ) + 10) + ); + }; + }; + } diff --git a/modules/home/hyprland/wall.mp4 b/modules/home/hyprland/wall.mp4 new file mode 100644 index 0000000..a534d73 Binary files /dev/null and b/modules/home/hyprland/wall.mp4 differ diff --git a/modules/home/screenshot/default.nix b/modules/home/screenshot/default.nix index 7b2ec19..88149e4 100644 --- a/modules/home/screenshot/default.nix +++ b/modules/home/screenshot/default.nix @@ -17,7 +17,12 @@ with pkgs; { } window() { - ${maim}/bin/maim -u -f png -i "$(${xdotool}/bin/xdotool getactivewindow)" | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png + window_geometry=$(${xdotool}/bin/xdotool getwindowgeometry $(${xdotool}/bin/xdotool getactivewindow) | tail -n +2 | awk '{print $2}' | tac) + last_line=$(echo "$window_geometry" | tail -n 1) + modified_last_line=$(echo "$last_line" | awk 'BEGIN {FS=OFS=","} {for(i=1; i<=NF; i++) $i+=2; print}' | sed -E "s/([+-]?[0-9]+),([+-]?[0-9]+)/+\1+\2/g; s/\+\-/\-/g") + final_string=$(echo "$window_geometry" | sed '$s/.*/'"$modified_last_line"'/' | paste -sd "") + + ${maim}/bin/maim -u -f png -g "$final_string" | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png notify_user } diff --git a/modules/home/shell/fish.nix b/modules/home/shell/fish.nix index fa407e0..6ec8ee9 100644 --- a/modules/home/shell/fish.nix +++ b/modules/home/shell/fish.nix @@ -58,26 +58,8 @@ with pkgs; { hash = "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0="; }; } - { - name = "autopair"; - src = fetchFromGitHub { - owner = "jorgebucaran"; - repo = "autopair.fish"; - rev = "4d1752ff5b39819ab58d7337c69220342e9de0e2"; - hash = "sha256-qt3t1iKRRNuiLWiVoiAYOu+9E7jsyECyIqZJ/oRIT1A="; - }; - } - { - name = "done"; - src = fetchFromGitHub { - owner = "franciscolourenco"; - repo = "done"; - rev = "d47f4d6551cccb0e46edfb14213ca0097ee22f9a"; - hash = "sha256-VSCYsGjNPSFIZSdLrkc7TU7qyPVm8UupOoav5UqXPMk="; - }; - } ] - ++ (mkFishPlugins ["grc" "plugin-git"]); + ++ (mkFishPlugins ["autopair" "bass" "colored-man-pages" "done" "fifc" "git-abbr" "forgit" "grc"]); shellAliases = { cat = "${bat}/bin/bat"; diff --git a/modules/home/shell/git.nix b/modules/home/shell/git.nix index 974b61f..00e695f 100644 --- a/modules/home/shell/git.nix +++ b/modules/home/shell/git.nix @@ -7,12 +7,12 @@ with pkgs; { userName = "pupbrained"; userEmail = "mars@pupbrained.xyz"; aliases.pushall = "!git remote | xargs -L1 git push"; - difftastic.enable = true; + delta.enable = true; extraConfig = { init.defaultBranch = "main"; push.autoSetupRemote = true; - credential.helper = "store --file /etc/git-credentials"; + credential.helper = "libsecret"; }; signing = { diff --git a/modules/home/shell/wezterm.nix b/modules/home/shell/wezterm.nix index 019a041..fe0d047 100644 --- a/modules/home/shell/wezterm.nix +++ b/modules/home/shell/wezterm.nix @@ -94,13 +94,13 @@ default_cursor_style = 'BlinkingBar', enable_kitty_graphics = true, enable_scroll_bar = false, + enable_wayland = false, font_size = 12, font = wezterm.font('Maple Mono NF'), keys = keybinds, - front_end = 'WebGpu', + front_end = 'OpenGL', underline_position = -4, use_fancy_tab_bar = false, - webgpu_power_preference = 'HighPerformance', window_background_opacity = 0.8, window_padding = { left = 0, right = 0, top = 0, bottom = 0 }, } diff --git a/modules/nixos/appimage/default.nix b/modules/nixos/appimage/default.nix new file mode 100644 index 0000000..0eea8b6 --- /dev/null +++ b/modules/nixos/appimage/default.nix @@ -0,0 +1,110 @@ +{pkgs, ...}: +with pkgs; { + boot.binfmt.registrations.appimage = { + wrapInterpreterInShell = false; + interpreter = "${appimage-run}/bin/appimage-run"; + recognitionType = "magic"; + offset = 0; + mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; + magicOrExtension = ''\x7fELF....AI\x02''; + }; + + systemd.user.services.appimage-menu-updater = let + appimage-menu-update = writeShellScript "appimage-menu-updater.sh" '' + shopt -s nullglob + + remove_old_files () { + for path in "$HOME"/.local/share/applications/appimage-menu-updater*; do + rm "$path" + done + for path in "$HOME"/.local/share/icons/hicolor/appimage-menu-updater*; do + rm "$path" + done + } + + update_each () { + path="$1" + file="$2" + + echo "found $file" + + desktop_source=$(${p7zip.outPath}/bin/7z l -ba -slt "$path" | grep '\.desktop$' | head -n1 | sed --expression 's/Path = //') + desktop_target="$HOME/.local/share/applications/appimage-menu-updater-$file.desktop" + ${p7zip.outPath}/bin/7z e "$path" "$desktop_source" -y -so > "$desktop_target" + sed -i "s@Exec=.*@Exec=${appimage-run.outPath}/bin/appimage-run $path@" "$desktop_target" + + update_icon "$path" "$desktop_target" + } + + update_icon () { + path="$1" + desktop_target="$2" + + echo "updating icon" + + icon_link_proto_source=$(grep Icon= "$desktop_target" | head -n1 | sed 's/Icon=//') + icon_link_source=$(${p7zip.outPath}/bin/7z l -ba -slt "$path" | grep -e "Path = $icon_link_proto_source.\(png\|svg\)" | head -n1 | sed 's/Path = //') + if [[ "$icon_link_source" ]]; then + tempdir=$(mktemp -d) + ${p7zip.outPath}/bin/7z x "$path" "$icon_link_source" -o"$tempdir" >/dev/null + + icon_temp_maybe_link=$(find "$tempdir"/* | head -n1) + if [[ -L "$icon_temp_maybe_link" ]]; then + icon_source=$(readlink "$icon_temp_maybe_link") + + if [[ "$icon_source" ]]; then + ${p7zip.outPath}/bin/7z x "$path" "$icon_source" -y -o"$tempdir" + if [[ -f "$tempdir/$icon_source" ]]; then + icon_temp_source=$tempdir/$icon_source + else + echo 'icon link target does not exists' + fi + else + echo 'icon link is invalid' + fi + + else + icon_temp_source=$icon_temp_maybe_link + fi + + if [[ "$icon_temp_source" ]]; then + icon_target="$HOME/.local/share/icons/hicolor/appimage-menu-updater-"$(basename "$icon_temp_source") + mv "$icon_temp_source" "$icon_target" + sed -i "s@Icon=.*@Icon=$icon_target@" "$desktop_target" + fi + + rm -Rf "$tempdir" + else + echo 'icon file not found' + fi + } + + update () { + echo 'updating...' + + remove_old_files + + for path in "$HOME"/Applications/*.AppImage; do + update_each "$path" $(basename "$path") + done + } + + mkdir -p "$HOME/Applications" + + update + while ${inotify-tools.outPath}/bin/inotifywait -e modify,delete,moved_to,moved_from "$HOME"/Applications; do + update + done + ''; + in { + enable = true; + description = "AppImage Menu Updater"; + unitConfig = { + Type = "simple"; + }; + serviceConfig = { + ExecStart = "/bin/sh -c 'HOME=%h ${appimage-menu-update}'"; + }; + wantedBy = ["default.target"]; + }; +} diff --git a/systems/x86_64-linux/navis/default.nix b/systems/x86_64-linux/navis/default.nix index 6f3094f..e8f3c33 100644 --- a/systems/x86_64-linux/navis/default.nix +++ b/systems/x86_64-linux/navis/default.nix @@ -6,27 +6,33 @@ ... }: with lib // pkgs // inputs; { - imports = [./hardware.nix]; - - security.sudo.extraConfig = '' - Defaults lecture = never, pwfeedback - ''; - - security.pam.loginLimits = [ - { - domain = "*"; - item = "nofile"; - type = "-"; - value = "32768"; - } - { - domain = "*"; - item = "memlock"; - type = "-"; - value = "32768"; - } + imports = [ + ./hardware.nix ]; + security = { + rtkit.enable = true; + + pam.loginLimits = [ + { + domain = "*"; + item = "nofile"; + type = "-"; + value = "32768"; + } + { + domain = "*"; + item = "memlock"; + type = "-"; + value = "32768"; + } + ]; + + sudo.extraConfig = '' + Defaults lecture = never, pwfeedback + ''; + }; + console.catppuccin.enable = true; systemd.user.extraConfig = let @@ -42,9 +48,7 @@ with lib // pkgs // inputs; { age = { secrets.passwd.file = /etc/secrets/passwd.age; - identityPaths = [ - "/persist/root/.ssh/id_ed25519" - ]; + identityPaths = ["/persist/root/.ssh/id_ed25519"]; }; chaotic = { @@ -81,7 +85,9 @@ with lib // pkgs // inputs; { environment = { sessionVariables = { + BROWSER = "firefox-nightly"; EDITOR = "nvim"; + TERMINAL = "wezterm"; DIRENV_WARN_TIMEOUT = "100s"; }; @@ -91,6 +97,8 @@ with lib // pkgs // inputs; { internal.lightly-boehs-qt6 snowfallorg.flake sound-theme-freedesktop + winetricks + wineWowPackages.staging xclip yt-dlp ]; @@ -101,15 +109,13 @@ with lib // pkgs // inputs; { "/etc/NetworkManager" "/etc/secrets" "/etc/ssh" + "/etc/mullvad-vpn" "/root/.ssh" "/var/lib/bluetooth" "/var/lib/nixos" "/var/lib/systemd/coredump" ]; - files = [ - "/etc/machine-id" - "/etc/git-credentials" - ]; + files = ["/etc/machine-id"]; }; }; @@ -118,18 +124,9 @@ with lib // pkgs // inputs; { kernelPackages = linuxPackages_cachyos; supportedFilesystems = ["btrfs" "ntfs"]; - binfmt.registrations.appimage = { - wrapInterpreterInShell = false; - interpreter = "${appimage-run}/bin/appimage-run"; - recognitionType = "magic"; - offset = 0; - mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; - magicOrExtension = ''\x7fELF....AI\x02''; - }; - initrd.systemd = { enable = true; - emergencyAccess = true; # No password needed bc of LUKS + emergencyAccess = true; # No password needed because of LUKS }; plymouth = { @@ -208,6 +205,8 @@ with lib // pkgs // inputs; { min-free = "${toString (5 * 1024 * 1024 * 1024)}"; max-free = "${toString (10 * 1024 * 1024 * 1024)}"; + extra-sandbox-paths = [config.programs.ccache.cacheDir]; + extra-experimental-features = [ "flakes" # flakes "nix-command" # experimental nix commands @@ -219,40 +218,39 @@ with lib // pkgs // inputs; { substituters = [ "https://cache.nixos.org" + "https://cache.privatevoid.net" + "https://cuda-maintainers.cachix.org" + "https://hyprland.cachix.org" "https://nix-community.cachix.org" "https://nyx.chaotic.cx/" - "https://cuda-maintainers.cachix.org" - "https://cache.privatevoid.net" - ]; - - trusted-substituters = [ - "cache.nixos.org" - "nix-community.cachix.org" - "nyx.chaotic.cx" - "cuda-maintainers.cachix.org" - "cache.privatevoid.net" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" + "cache.privatevoid.net:SErQ8bvNWANeAvtsOESUwVYr2VJynfuc9JRwlzTTkVg=" "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" - "cache.privatevoid.net:SErQ8bvNWANeAvtsOESUwVYr2VJynfuc9JRwlzTTkVg=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" ]; }; }; programs = { + ccache.enable = true; dconf.enable = true; fish.enable = true; gamemode.enable = true; - nix-ld.enable = true; steam.enable = true; gnupg.agent.enable = true; virt-manager.enable = true; + hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + }; + nh = { enable = true; clean.enable = true; @@ -262,6 +260,7 @@ with lib // pkgs // inputs; { }; networking = { + useDHCP = mkDefault true; hostName = "navis"; firewall.enable = false; nameservers = ["1.1.1.1" "1.0.0.1"]; @@ -271,20 +270,27 @@ with lib // pkgs // inputs; { time.timeZone = "America/New_York"; - i18n.defaultLocale = "en_US.UTF-8"; - services = { btrfs.autoScrub.enable = true; flatpak.enable = true; + getty.autologinUser = "marshall"; gnome.gnome-keyring.enable = true; mullvad-vpn.enable = true; ollama.enable = true; openssh.enable = true; spice-vdagentd.enable = true; + udisks2.enable = true; - displayManager.autoLogin = { + greetd = { enable = true; - user = "marshall"; + settings = rec { + initial_session = { + command = "${pkgs.hyprland}/bin/Hyprland"; + user = "marshall"; + }; + + default_session = initial_session; + }; }; libinput = { @@ -295,34 +301,12 @@ with lib // pkgs // inputs; { xserver = { enable = true; videoDrivers = ["nvidia"]; - xkb.layout = "us"; - - displayManager.startx = { - enable = true; - }; - - xrandrHeads = [ - { - output = "DP-0"; - monitorConfig = '' - Option "PreferredMode" "2560x1440_165.08" - ''; - } - ]; - - windowManager.xmonad = { - enable = true; - enableContribAndExtras = true; - enableConfiguredRecompile = true; - flake = { - enable = true; - compiler = "ghc982"; - }; - }; }; pipewire = { enable = true; + alsa.enable = true; + alsa.support32Bit = true; pulse.enable = true; }; }; @@ -340,6 +324,7 @@ with lib // pkgs // inputs; { hardware = { bluetooth.enable = true; + i2c.enable = true; opengl = { enable = true; @@ -354,7 +339,7 @@ with lib // pkgs // inputs; { nvidia-container-toolkit.enable = true; nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.latest; + package = config.boot.kernelPackages.nvidiaPackages.beta; modesetting.enable = true; powerManagement.enable = true; @@ -367,17 +352,5 @@ with lib // pkgs // inputs; { }; }; - xdg.portal = { - enable = true; - config.common.default = "*"; - xdgOpenUsePortal = true; - - extraPortals = [ - kdePackages.xdg-desktop-portal-kde - xdg-desktop-portal-gtk - xdg-desktop-portal-shana - ]; - }; - system.stateVersion = "24.05"; } diff --git a/systems/x86_64-linux/navis/hardware.nix b/systems/x86_64-linux/navis/hardware.nix index 9f5fd39..4d4de7f 100644 --- a/systems/x86_64-linux/navis/hardware.nix +++ b/systems/x86_64-linux/navis/hardware.nix @@ -15,6 +15,7 @@ boot.initrd.kernelModules = []; boot.kernelModules = ["kvm-intel"]; boot.extraModulePackages = []; + boot.tmp.useTmpfs = true; fileSystems."/" = { device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b";