dotfiles

My PC Dotfiles & Website
commit 5c59300b32d51fccdefb5b768e8513e688581bed
parent 533a133b2e3f2c8ebb7cc4d47ea46fea8948d1d7
Author: maydayv7 <maydayv7@gmail.com>
Date:   Wed,  4 Dec 2024 01:39:57 +0530

feat(Hyprland): Use `nixpkgs` version

Also tweak README

Diffstat:

MREADME.md | 59+++++++++++++++++++++++++++++++----------------------------
Afiles/logseq/settings/logseq-awesome-ui.json | 23+++++++++++++++++++++++
Mflake.lock | 487++-----------------------------------------------------------------------------
Mflake.nix | 37-------------------------------------
Mmodules/gui/desktop/hyprland/apps/rules.nix | 96+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Mmodules/gui/desktop/hyprland/default.nix | 2+-
Mmodules/gui/desktop/hyprland/settings/plugins.nix | 8+++++++-
Mpackages/firefox-elementary-theme/default.nix | 6+++---
Mpackages/flake.nix | 7-------
Apackages/hycov/default.nix | 29+++++++++++++++++++++++++++++
Apackages/hycov/metadata.nix | 6++++++
Apackages/hyprdark/default.nix | 33+++++++++++++++++++++++++++++++++
Apackages/hyprdark/metadata.nix | 6++++++
Mscripts/hyprutils.nix | 2+-
14 files changed, 200 insertions(+), 601 deletions(-)

diff --git a/README.md b/README.md @@ -9,7 +9,7 @@ This [repository](https://github.com/maydayv7/dotfiles) contains the configuration and `dotfiles` for my continuously evolving multi-PC setup (using [Nix](https://nixos.org/)). All the devices I own, controlled by code. It also builds and deploys my website to [maydayv7.my.to](https://maydayv7.my.to). You can follow along with my [NixOS Desktop](https://maydayv7.my.to/series/nixos-desktop/) Series <details> -<summary>Desktop Pictures</summary> +<summary><b>Pictures</b></summary> **_Note:_** These may be outdated @@ -30,6 +30,31 @@ This [repository](https://github.com/maydayv7/dotfiles) contains the configurati | _Pantheon Desktop_ | <details> +<summary>Theming</summary> + +- [Hyfetch](https://github.com/hykilpikonna/hyfetch): Snazzy CLI System Information Tool +- [Powerlevel10K](https://github.com/romkatv/powerlevel10k) Theme: ZSH Theme for the fancy-looking prompt with immense customization capabilities +- [Arc Theme](https://github.com/jnsh/arc-theme): Flat GTK theme with transparent elements for various desktop shells, window managers and applications +- [Bibata Cursor](https://github.com/ful1e5/Bibata_Cursor): Compact and material designed cursor set +- [DNOME](https://github.com/GeopJr/DNOME) Discord Theme: Discord Theme inspired by Adwaita, designed to integrate Discord with GNOME +- [Nordic](https://github.com/orblazer/discord-nordic) Discord Theme: Discord Theme using the [Nord](<(https://www.nordtheme.com/)>) color palette +- [Firefox GNOME Theme](https://github.com/rafaelmardojai/firefox-gnome-theme): GNOME Theme for the Mozilla Firefox Browser, used for better desktop integration +- [Firefox Elementary Theme](https://github.com/Zonnev/elementaryos-firefox-theme): Elementary OS Theme for the Mozilla Firefox Browser, used for better desktop integration +- [VS Code Adwaita Theme](https://github.com/piousdeer/vscode-adwaita): Integrates Visual Studio Code with GNOME Desktop +- [VS Code Arc Theme](https://github.com/alvesvaren/arc-dark-vscode): Port of the Arc Dark GTK Theme for Visual Studio Code +- [VS Code Elementary Theme](https://github.com/sixpounder/vscode-elementary-theme): Integrates Visual Studio Code with Pantheon Desktop +- [KvLibadwaita Kvantum Theme](https://github.com/GabePoel/KvLibadwaita): Integrates QT Apps with GNOME Desktop +- [Arc KDE Theme](https://github.com/PapirusDevelopmentTeam/arc-kde): Port of the Arc GTK Theme for Plasma Desktop +- ULauncher [Adwaita Theme](https://github.com/gabrbrand/adwaita-dark-ulauncher): ULauncher Theme based on GNOME Desktop's Adwaita Dark Theme +- ULauncher [Arc Theme](https://github.com/tjquillan/Arc-Dark-ULauncher): An Arc Dark Theme for ULauncher +- ULauncher [Elementary Theme](https://github.com/heidefinnischen/ULauncher-elementary): ULauncher Themes for Elementary OS +- [Catppuccin](https://github.com/catppuccin) Theme: A community-driven Pastel Theme consisting of 4 soothing warm Flavors with 26 eye-candy Colors each +- Logseq [Bonofix Theme][https://github.com/Sansui233/logseq-bonofix-theme]: A clean Logseq theme with focus on long-time writing experience +- Logseg [Nord Theme](https://github.com/Bad3r/Logseq-Nord-Theme): Logseq in an arctic, north-bluish color palette + +</details> + +<details> <summary><i>Older...</i></summary> | ![GNOME 45](./files/images/desktop/old/gnome_45.png) | @@ -428,30 +453,6 @@ The [`home-manager`](https://github.com/nix-community/home-manager) module is us ## Links -### Theming - -- [Hyfetch](https://github.com/hykilpikonna/hyfetch): Snazzy CLI System Information Tool -- [Powerlevel10K](https://github.com/romkatv/powerlevel10k) Theme: ZSH Theme for the fancy-looking prompt with immense customization capabilities -- [Arc Theme](https://github.com/jnsh/arc-theme): Flat GTK theme with transparent elements for various desktop shells, window managers and applications -- [Bibata Cursor](https://github.com/ful1e5/Bibata_Cursor): Compact and material designed cursor set -- [DNOME](https://github.com/GeopJr/DNOME) Discord Theme: Discord Theme inspired by Adwaita, designed to integrate Discord with GNOME -- [Nordic](https://github.com/orblazer/discord-nordic) Discord Theme: Discord Theme using the [Nord](<(https://www.nordtheme.com/)>) color palette -- [Firefox GNOME Theme](https://github.com/rafaelmardojai/firefox-gnome-theme): GNOME Theme for the Mozilla Firefox Browser, used for better desktop integration -- [Firefox Elementary Theme](https://github.com/Zonnev/elementaryos-firefox-theme): Elementary OS Theme for the Mozilla Firefox Browser, used for better desktop integration -- [VS Code Adwaita Theme](https://github.com/piousdeer/vscode-adwaita): Integrates Visual Studio Code with GNOME Desktop -- [VS Code Arc Theme](https://github.com/alvesvaren/arc-dark-vscode): Port of the Arc Dark GTK Theme for Visual Studio Code -- [VS Code Elementary Theme](https://github.com/sixpounder/vscode-elementary-theme): Integrates Visual Studio Code with Pantheon Desktop -- [KvLibadwaita Kvantum Theme](https://github.com/GabePoel/KvLibadwaita): Integrates QT Apps with GNOME Desktop -- [Arc KDE Theme](https://github.com/PapirusDevelopmentTeam/arc-kde): Port of the Arc GTK Theme for Plasma Desktop -- ULauncher [Adwaita Theme](https://github.com/gabrbrand/adwaita-dark-ulauncher): ULauncher Theme based on GNOME Desktop's Adwaita Dark Theme -- ULauncher [Arc Theme](https://github.com/tjquillan/Arc-Dark-ULauncher): An Arc Dark Theme for ULauncher -- ULauncher [Elementary Theme](https://github.com/heidefinnischen/ULauncher-elementary): ULauncher Themes for Elementary OS -- [Catppuccin](https://github.com/catppuccin) Theme: A community-driven Pastel Theme consisting of 4 soothing warm Flavors with 26 eye-candy Colors each -- Logseq [Bonofix Theme][https://github.com/Sansui233/logseq-bonofix-theme]: A clean Logseq theme with focus on long-time writing experience -- Logseg [Nord Theme](https://github.com/Bad3r/Logseq-Nord-Theme): Logseq in an arctic, north-bluish color palette - -### Important Links - **See:** A [Curated List](https://github.com/nix-community/awesome-nix) of the Best Resources in the Nix Community **Also:** [This](https://nixos-and-flakes.thiscute.world/) website for beginners starting out with NixOS and Flakes @@ -465,7 +466,7 @@ The [`home-manager`](https://github.com/nix-community/home-manager) module is us - NixOS [Hardware Modules](https://github.com/nixos/hardware) - Home Manager [Options](https://nix-community.github.io/home-manager/options.html) -#### Other Sources +### Other Sources - Tweag [Article](https://www.tweag.io/blog/2020-05-25-flakes/) introducing Flakes - Serokell's [Blog](https://serokell.io/blog/practical-nix-flakes) on Flakes @@ -476,7 +477,7 @@ The [`home-manager`](https://github.com/nix-community/home-manager) module is us - Christine's [Blog Posts](https://christine.website/blog/series/nixos) addressing NixOS Security - [Graham's](https://grahamc.com/blog/erase-your-darlings) and [Elis'](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/) Blog Posts on Ephemeral Partition Schemes -#### Other Configurations +### Other Configurations Here are some repositories that I may have shamelessly rummaged through for building my `dotfiles`: _Thanks a lot! ;)_ @@ -514,8 +515,10 @@ You can navigate to the `README`s present in the various directories to know mor - Upgrade to NixOS v24.11 (Vicuna)! - Add Logseq Configuration -- Hyprland Improvements - Use Vesktop instead of Discord +- Hyprland Improvements + - Transition to UWSM + - Use `nixpkgs` version ### v24.5 diff --git a/files/logseq/settings/logseq-awesome-ui.json b/files/logseq/settings/logseq-awesome-ui.json @@ -0,0 +1,23 @@ +{ + "disabled": false, + "alwaysShowNewBlockBullet": true, + "compactSidebarMenu": true, + "contentHeading": null, + "headerHeading": null, + "headerVariant": "Wide", + "hideAddNewPage": false, + "hideHomeButton": true, + "hideRightSidebarToolbar": false, + "hideSidebarPageIcons": false, + "killAnimations": false, + "leftSidebarHeading": null, + "menuCalendar": true, + "navigationPosition": "Left", + "otherHeading": null, + "rightSidebarHeading": null, + "searchStyle": "Wide", + "tabsHeading": null, + "tabsPosition": "TopPanel", + "tabsStyle": "Awesome", + "vaultButtonToBottom": true +} diff --git a/flake.lock b/flake.lock @@ -1,38 +1,5 @@ { "nodes": { - "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1731959031, - "narHash": "sha256-TGcvIjftziC1CjuiHCzrYDwmOoSFYIhdiKmLetzB5L0=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "4468981c1c50999f315baa1508f0e53c4ee70c52", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -185,22 +152,6 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { - "flake": false, - "locked": { "lastModified": 1732722421, "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", "owner": "edolstra", @@ -214,7 +165,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -230,7 +181,7 @@ "type": "github" } }, - "flake-compat_5": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -246,7 +197,7 @@ "type": "github" } }, - "flake-compat_6": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1673956053, @@ -400,28 +351,6 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { @@ -475,300 +404,6 @@ "type": "github" } }, - "hycov": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nixpkgs": [ - "hycov", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hycov", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1731830158, - "narHash": "sha256-X5D8oqCnZBrDTmseUGYYQq6vfPeyyksdG4Mj7XYYNpg=", - "owner": "bighu630", - "repo": "hycov", - "rev": "a251d42b4e75eecd72bc91e763e79bb91772e841", - "type": "github" - }, - "original": { - "owner": "bighu630", - "repo": "hycov", - "rev": "a251d42b4e75eecd72bc91e763e79bb91772e841", - "type": "github" - } - }, - "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1728669738, - "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "0264e698149fcb857a66a53018157b41f8d97bb0", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprdark": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nix-filter": [ - "filters" - ] - }, - "locked": { - "lastModified": 1730372991, - "narHash": "sha256-jmtwH8t1GRsNpkKFu1WJR1rZ15ejmcdDe+zwenjzo7U=", - "owner": "micha4w", - "repo": "Hypr-DarkWindow", - "rev": "8fae7b5698379be08ea61a2e7a3349da0b930a94", - "type": "github" - }, - "original": { - "owner": "micha4w", - "ref": "v0.45.0", - "repo": "Hypr-DarkWindow", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "aquamarine": "aquamarine", - "hyprcursor": "hyprcursor", - "hyprland-protocols": "hyprland-protocols", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": [ - "stable" - ], - "pre-commit-hooks": "pre-commit-hooks", - "systems": [ - "systems" - ], - "xdph": "xdph" - }, - "locked": { - "lastModified": 1732052838, - "narHash": "sha256-ENsVNUEvJp7/7f6x7MVqtiVkFKkGy0Ux/ZqQM3Sb4CQ=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "12f9a0d0b93f691d4d9923716557154d74777b0a", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "ref": "v0.45.2", - "repo": "Hyprland", - "type": "github" - } - }, - "hyprland-plugins": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nixpkgs": [ - "hyprland-plugins", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-plugins", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1732053779, - "narHash": "sha256-v9FS0r2XWMf/+uwevvzaF/2TimMFeLEQTf4T8cgc6c0=", - "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "0bc619b2c3b4f9c2b65247e81d69f8bbc573d991", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "0bc619b2c3b4f9c2b65247e81d69f8bbc573d991", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1728345020, - "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "a7c183800e74f337753de186522b9017a07a8cee", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1728168612, - "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprspace": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "systems": "systems" - }, - "locked": { - "lastModified": 1730569007, - "narHash": "sha256-cwbcYg+rPmvHFFtAEie7nw5IaBidrTYe5XsTlhOyoyQ=", - "owner": "KZDKM", - "repo": "Hyprspace", - "rev": "260f386075c7f6818033b05466a368d8821cde2d", - "type": "github" - }, - "original": { - "owner": "KZDKM", - "repo": "Hyprspace", - "rev": "260f386075c7f6818033b05466a368d8821cde2d", - "type": "github" - } - }, - "hyprsplit": { - "inputs": { - "hyprland": [ - "hyprland" - ] - }, - "locked": { - "lastModified": 1732148559, - "narHash": "sha256-+KvgaMLPlwoQFt1NJCELSRg5N3W01XnzWMlrvbtNkVQ=", - "owner": "shezdy", - "repo": "hyprsplit", - "rev": "e526aaff56b14aca773682bde485c2f8af80ece2", - "type": "github" - }, - "original": { - "owner": "shezdy", - "ref": "v0.45.2", - "repo": "hyprsplit", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1731702627, - "narHash": "sha256-+JeO9gevnXannQxMfR5xzZtF4sYmSlWkX/BPmPx0mWk=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "e911361a687753bbbdfe3b6a9eab755ecaf1d9e1", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1726874836, - "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, "impermanence": { "locked": { "lastModified": 1731242966, @@ -836,22 +471,6 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1712963716, @@ -868,30 +487,6 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore_2", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1732021966, - "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -951,12 +546,6 @@ "generators": "generators", "hardware": "hardware", "home-manager": "home-manager", - "hycov": "hycov", - "hyprdark": "hyprdark", - "hyprland": "hyprland", - "hyprland-plugins": "hyprland-plugins", - "hyprspace": "hyprspace", - "hyprsplit": "hyprsplit", "impermanence": "impermanence", "index": "index", "nixpkgs": [ @@ -967,7 +556,7 @@ "spotify": "spotify", "stable": "stable", "stylix": "stylix", - "systems": "systems_3", + "systems": "systems_2", "unstable": "unstable", "utils": "utils_2", "vscode": "vscode", @@ -1022,7 +611,7 @@ }, "spotify": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "nixpkgs": [ "nixpkgs" ] @@ -1063,7 +652,7 @@ "base16-fish": "base16-fish", "base16-helix": "base16-helix", "base16-vim": "base16-vim", - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_3", "flake-utils": [ "utils" ], @@ -1098,21 +687,6 @@ }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_2": { - "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", @@ -1126,7 +700,7 @@ "type": "github" } }, - "systems_3": { + "systems_2": { "flake": false, "locked": { "lastModified": 1707463813, @@ -1236,7 +810,7 @@ }, "utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1694529238, @@ -1274,7 +848,7 @@ }, "vscode": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_4", "flake-utils": [ "utils" ], @@ -1315,7 +889,7 @@ }, "windows": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_5", "nixpkgs": [ "unstable" ] @@ -1333,47 +907,6 @@ "repo": "erosanix", "type": "github" } - }, - "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1731703417, - "narHash": "sha256-rheDc/7C+yI+QspYr9J2z9kQ5P9F4ATapI7qyFAe1XA=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "8070f36deec723de71e7557441acb17e478204d3", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix @@ -140,43 +140,6 @@ }; }; - # Hyprland (manual update) - hyprland = { - url = "github:hyprwm/Hyprland?ref=v0.45.2"; - inputs = { - nixpkgs.follows = "stable"; - systems.follows = "systems"; - }; - }; - - hyprland-plugins = { - url = "github:hyprwm/hyprland-plugins?rev=0bc619b2c3b4f9c2b65247e81d69f8bbc573d991"; - inputs.hyprland.follows = "hyprland"; - }; - - hycov = { - url = "github:bighu630/hycov?rev=a251d42b4e75eecd72bc91e763e79bb91772e841"; - inputs.hyprland.follows = "hyprland"; - }; - - hyprdark = { - url = "github:micha4w/Hypr-DarkWindow?ref=v0.45.0"; - inputs = { - hyprland.follows = "hyprland"; - nix-filter.follows = "filters"; - }; - }; - - hyprspace = { - url = "github:KZDKM/Hyprspace?rev=260f386075c7f6818033b05466a368d8821cde2d"; - inputs.hyprland.follows = "hyprland"; - }; - - hyprsplit = { - url = "github:shezdy/hyprsplit?ref=v0.45.2"; - inputs.hyprland.follows = "hyprland"; - }; - # Declarative Flatpak Wrapper flatpak.url = "github:gmodena/nix-flatpak"; diff --git a/modules/gui/desktop/hyprland/apps/rules.nix b/modules/gui/desktop/hyprland/apps/rules.nix @@ -1,4 +1,4 @@ -_: { +{lib, ...}: { wayland.windowManager.hyprland.settings = { ## Layer Rules layerrule = [ @@ -8,50 +8,54 @@ _: { ]; ## Window Rules - windowrulev2 = [ - # Clipboard Manager - "float, class:^(clipse)$" - - # Application Launcher - "opacity 0.9 override, class:^(ulauncher)$" - "move cursor -50% -50%, class:^(ulauncher)$" - - # Keybinds Viewer - "pin, title:^(Kebihelp)$" - "float, title:^(Kebihelp)$" - "stayfocused, title:^(Kebihelp)$" - "opacity 0.9 override, title:^(Kebihelp)" - - # Browser Windows - "float, title:^(Picture-in-Picture)$" - "workspace special silent, title:^(Sharing Indicator)$" - "workspace special silent, title:^(.*is sharing (your screen|a window)\.)$" - - # Media Consumption - "idleinhibit focus, class:^(mpv|.*celluloid.*|.+exe)$" - "idleinhibit focus, class:^(firefox|google-chrome)$, title:^(.*YouTube.*)$" - "idleinhibit fullscreen, class:^(firefox|google-chrome)$" - - # Dialogs - "float, title:^(Open File)(.*)$" - "float, title:^(Save File)(.*)$" - "float, title:^(Select a File)(.*)$" - "float, title:^(Open Folder)(.*)$" - "float, title:^(Save As)(.*)$" - "float, title:^(Library)(.*)$" - - # Screen Tearing - "immediate, class:^(.+exe)$" - - # Prompt Windows - "dimaround, class:^(gcr-prompter)$" - "dimaround, class:^(xdg-desktop-portal-gtk)$" - "pin, class:^(pinentry-)" - "dimaround, class:^(pinentry-)" - "stayfocused, class:^(pinentry-)" - "pin, class:^(gay.vaskel.Soteria)$" - "dimaround, class:^(gay.vaskel.Soteria)$" - "stayfocused, class:^(gay.vaskel.Soteria)" - ]; + windowrulev2 = lib.flatten ([ + # Clipboard Manager + "float, class:^(clipse)$" + + # Application Launcher + "opacity 0.9 override, class:^(ulauncher)$" + "move cursor -50% -50%, class:^(ulauncher)$" + + # Keybinds Viewer + "pin, title:^(Kebihelp)$" + "float, title:^(Kebihelp)$" + "stayfocused, title:^(Kebihelp)$" + "opacity 0.9 override, title:^(Kebihelp)" + + # Browser Windows + "float, title:^(Picture-in-Picture)$" + "workspace special silent, title:^(Sharing Indicator)$" + "workspace special silent, title:^(.*is sharing (your screen|a window)\.)$" + + # Media Consumption + "idleinhibit focus, class:^(mpv|.*celluloid.*|.+exe)$" + "idleinhibit focus, class:^(firefox|google-chrome)$, title:^(.*YouTube.*)$" + "idleinhibit fullscreen, class:^(firefox|google-chrome)$" + + # Screen Tearing + "immediate, class:^(.+exe)$" + + # Prompt Windows + "dimaround, class:^(xdg-desktop-portal-gtk)" + ] + ++ (builtins.map (class: [ + "pin, class:^(${class})" + "dimaround, class:^(${class})" + "stayfocused, class:^(${class})" + ]) [ + "pinentry-" + "gay.vaskel.Soteria" + ]) + ++ (builtins.map (title: [ + # Dialogs + "float, title:^(${title})(.*)$" + ]) [ + "Library" + "Open File" + "Open Folder" + "Save As" + "Save File" + "Select a File" + ])); }; } diff --git a/modules/gui/desktop/hyprland/default.nix b/modules/gui/desktop/hyprland/default.nix @@ -29,7 +29,7 @@ in { enable = true; withUWSM = true; xwayland.enable = true; - package = pkgs.hyprworld.hyprland; + package = pkgs.hyprland; }; # Login diff --git a/modules/gui/desktop/hyprland/settings/plugins.nix b/modules/gui/desktop/hyprland/settings/plugins.nix @@ -6,7 +6,13 @@ }: { ## Plugin Settings wayland.windowManager.hyprland = { - plugins = with pkgs.hyprworld; [hycov hyprexpo Hypr-DarkWindow Hyprspace hyprsplit]; + plugins = with pkgs.hyprlandPlugins; + [hyprexpo hyprspace hyprsplit] + ++ (with pkgs.custom; [ + hycov + hyprdark + ]); + settings = { plugin = with sys.lib.stylix.colors; let gaps = diff --git a/packages/firefox-elementary-theme/default.nix b/packages/firefox-elementary-theme/default.nix @@ -6,13 +6,13 @@ with pkgs; let metadata = import ./metadata.nix; in - stdenv.mkDerivation { - pname = "firefox-elementary-theme"; + stdenv.mkDerivation rec { + pname = "elementaryos-firefox-theme"; version = metadata.rev; src = fetchFromGitHub { owner = "Zonnev"; - repo = "elementaryos-firefox-theme"; + repo = pname; inherit (metadata) rev sha256; }; diff --git a/packages/flake.nix b/packages/flake.nix @@ -37,13 +37,6 @@ in { code = vscode.extensions."${system}"; gaming = gaming.packages."${system}"; wine = windows.packages."${system}"; - hyprworld = - hyprland.packages."${system}" - // hyprland-plugins.packages."${system}" - // hycov.packages."${system}" - // hyprdark.packages."${system}" - // hyprspace.packages."${system}" - // hyprsplit.packages."${system}"; }) ]; in { diff --git a/packages/hycov/default.nix b/packages/hycov/default.nix @@ -0,0 +1,29 @@ +{ + lib, + pkgs, + ... +}: +with pkgs; let + metadata = import ./metadata.nix; +in + gcc13Stdenv.mkDerivation rec { + pname = "hycov"; + version = metadata.rev; + + src = fetchFromGitHub { + owner = "bighu630"; + repo = pname; + inherit (metadata) rev sha256; + }; + + inherit (hyprland) nativeBuildInputs; + buildInputs = [hyprland.dev] ++ hyprland.buildInputs; + + meta = with lib; { + homepage = metadata.repo; + description = "Hyprland Plugin for application overview"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = ["maydayv7"]; + }; + } diff --git a/packages/hycov/metadata.nix b/packages/hycov/metadata.nix @@ -0,0 +1,6 @@ +{ + repo = "https://github.com/bighu630/hycov"; + release = true; + rev = "v0.45.0"; + sha256 = "sha256-X5D8oqCnZBrDTmseUGYYQq6vfPeyyksdG4Mj7XYYNpg="; +} diff --git a/packages/hyprdark/default.nix b/packages/hyprdark/default.nix @@ -0,0 +1,33 @@ +{ + lib, + pkgs, + ... +}: +with pkgs; let + metadata = import ./metadata.nix; +in + gcc13Stdenv.mkDerivation rec { + pname = "Hypr-DarkWindow"; + version = metadata.rev; + + src = fetchFromGitHub { + owner = "micha4w"; + repo = pname; + inherit (metadata) rev sha256; + }; + + nativeBuildInputs = [pkg-config]; + buildInputs = [hyprland.dev] ++ hyprland.buildInputs; + installPhase = '' + mkdir -p $out/lib + install ./out/hypr-darkwindow.so $out/lib/libHypr-DarkWindow.so + ''; + + meta = with lib; { + homepage = metadata.repo; + description = "Hyprland Plugin to invert the colors of specific windows"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = ["maydayv7"]; + }; + } diff --git a/packages/hyprdark/metadata.nix b/packages/hyprdark/metadata.nix @@ -0,0 +1,6 @@ +{ + repo = "https://github.com/micha4w/Hypr-DarkWindow"; + release = true; + rev = "v0.45.0"; + sha256 = "sha256-jmtwH8t1GRsNpkKFu1WJR1rZ15ejmcdDe+zwenjzo7U="; +} diff --git a/scripts/hyprutils.nix b/scripts/hyprutils.nix @@ -53,7 +53,7 @@ in dunst zenity hyprshade - hyprworld.hyprland + hyprland custom.hyprshellevents swayidle waybar