From 4bce20528c3e6357c80e1887b181cb8d77b86abc Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 00:30:42 -0400 Subject: [PATCH 01/12] Lol --- default/widgets/VolumeMixer.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default/widgets/VolumeMixer.qml b/default/widgets/VolumeMixer.qml index 2eaa572..c78376d 100644 --- a/default/widgets/VolumeMixer.qml +++ b/default/widgets/VolumeMixer.qml @@ -6,7 +6,7 @@ import Quickshell.Services.Pipewire import Quickshell.Widgets Item { - property bool showPopup: true + property bool showPopup: false // Get the default audio sink property var audioSink: Pipewire.defaultAudioSink From 185273a9f49dd6c1adaecdaba8f133592f7d2689 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 00:41:06 -0400 Subject: [PATCH 02/12] Let's see if flake works --- Makefile | 2 +- default/shell.qml | 29 ------------------- flake.nix | 26 +++++++++++++++++ {default => hyprshell}/bars/TopBar.qml | 0 {default => hyprshell}/bars/modules/Clock.qml | 0 hyprshell/shell.qml | 10 +++++++ .../widgets/HyprlandWorkspaces.qml | 0 .../widgets/VolumeMixer.qml | 0 8 files changed, 37 insertions(+), 30 deletions(-) delete mode 100644 default/shell.qml create mode 100644 flake.nix rename {default => hyprshell}/bars/TopBar.qml (100%) rename {default => hyprshell}/bars/modules/Clock.qml (100%) create mode 100644 hyprshell/shell.qml rename {default => hyprshell}/widgets/HyprlandWorkspaces.qml (100%) rename {default => hyprshell}/widgets/VolumeMixer.qml (100%) diff --git a/Makefile b/Makefile index d628a21..057a60b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ dev: ln -s $(PWD) $(HOME)/.config/quickshell - quickshell -c default + quickshell -c hyprshell cleanup: unlink $(HOME)/.config/quickshell \ No newline at end of file diff --git a/default/shell.qml b/default/shell.qml deleted file mode 100644 index 8aa6f54..0000000 --- a/default/shell.qml +++ /dev/null @@ -1,29 +0,0 @@ -import "./bars" -import QtQuick -import Quickshell -import Quickshell.Io - -ShellRoot { - // PanelWindow { - // exclusiveZone: 0 - // implicitWidth: 600 - // implicitHeight: 300 - // anchors.top: true - // Rectangle { - // anchors.fill: parent - // color: "black" - // } - // } - - Variants { - model: Quickshell.screens - - delegate: Component { - TopBar { - } - - } - - } - -} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..fd3bbd2 --- /dev/null +++ b/flake.nix @@ -0,0 +1,26 @@ +{ + description = "Quickshell Hyprshell config"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + { + self, + nixpkgs, + home-manager, + ... + }: + { + homeManagerModules.default = + { config, lib, ... }: + { + xdg.configFile."quickshell/hyprshell".source = ./hyprshell; + }; + }; +} diff --git a/default/bars/TopBar.qml b/hyprshell/bars/TopBar.qml similarity index 100% rename from default/bars/TopBar.qml rename to hyprshell/bars/TopBar.qml diff --git a/default/bars/modules/Clock.qml b/hyprshell/bars/modules/Clock.qml similarity index 100% rename from default/bars/modules/Clock.qml rename to hyprshell/bars/modules/Clock.qml diff --git a/hyprshell/shell.qml b/hyprshell/shell.qml new file mode 100644 index 0000000..57519eb --- /dev/null +++ b/hyprshell/shell.qml @@ -0,0 +1,10 @@ +import "./bars" +import QtQuick +import Quickshell +import Quickshell.Io + +ShellRoot { + TopBar { + } + +} diff --git a/default/widgets/HyprlandWorkspaces.qml b/hyprshell/widgets/HyprlandWorkspaces.qml similarity index 100% rename from default/widgets/HyprlandWorkspaces.qml rename to hyprshell/widgets/HyprlandWorkspaces.qml diff --git a/default/widgets/VolumeMixer.qml b/hyprshell/widgets/VolumeMixer.qml similarity index 100% rename from default/widgets/VolumeMixer.qml rename to hyprshell/widgets/VolumeMixer.qml From 3086ba0d515f7e4935e1a78b72950298f7011df8 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 00:48:04 -0400 Subject: [PATCH 03/12] WIP --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index fd3bbd2..f251fe4 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ homeManagerModules.default = { config, lib, ... }: { - xdg.configFile."quickshell/hyprshell".source = ./hyprshell; + home.file.".config/quickshell/hyprshell".source = ./hyprshell; }; }; } From d0254ace8ccfb0363c7842cdba9c6b5648eced89 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 00:55:15 -0400 Subject: [PATCH 04/12] A ver --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index f251fe4..0f9e7c6 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ nixpkgs, home-manager, ... - }: + }@inputs: { homeManagerModules.default = { config, lib, ... }: From 13a375598a6808e1f191fe9b53f90560b54a4c1c Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 00:59:04 -0400 Subject: [PATCH 05/12] Please --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 0f9e7c6..5deb2a6 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ homeManagerModules.default = { config, lib, ... }: { - home.file.".config/quickshell/hyprshell".source = ./hyprshell; + inputs.home-manager.home.file.".config/quickshell/hyprshell".source = ./hyprshell; }; }; } From 75f87a6b557863bc9b046827d3cd1b759e6039b5 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 00:59:49 -0400 Subject: [PATCH 06/12] :( --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 5deb2a6..d0991a1 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ homeManagerModules.default = { config, lib, ... }: { - inputs.home-manager.home.file.".config/quickshell/hyprshell".source = ./hyprshell; + home-manager.home.file.".config/quickshell/hyprshell".source = ./hyprshell; }; }; } From 7a7ece771b933794d74828d5b9742cb7349fd86c Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 01:05:22 -0400 Subject: [PATCH 07/12] :( --- flake.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index d0991a1..b05e456 100644 --- a/flake.nix +++ b/flake.nix @@ -10,17 +10,17 @@ }; outputs = - { + inputs@{ self, nixpkgs, home-manager, ... - }@inputs: + }: { homeManagerModules.default = { config, lib, ... }: { - home-manager.home.file.".config/quickshell/hyprshell".source = ./hyprshell; + inputs.home-manager.home.file.".config/quickshell/hyprshell".source = ./hyprshell; }; }; } From 262f6e5fbef52a29c58ad43a911bb9740380895c Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 01:07:46 -0400 Subject: [PATCH 08/12] Perhaps --- flake.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index b05e456..c6f72cd 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,5 @@ { description = "Quickshell Hyprshell config"; - inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager = { @@ -8,7 +7,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = inputs@{ self, @@ -20,7 +18,7 @@ homeManagerModules.default = { config, lib, ... }: { - inputs.home-manager.home.file.".config/quickshell/hyprshell".source = ./hyprshell; + home.file.".config/quickshell/hyprshell".source = ./hyprshell; }; }; } From cf212539708422ef62469cb5e1abefd5303e28b3 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 01:10:08 -0400 Subject: [PATCH 09/12] WIP --- flake.nix | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/flake.nix b/flake.nix index c6f72cd..e7c3aa1 100644 --- a/flake.nix +++ b/flake.nix @@ -2,21 +2,17 @@ description = "Quickshell Hyprshell config"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = - inputs@{ - self, - nixpkgs, - home-manager, - ... - }: + { self, nixpkgs }: { homeManagerModules.default = - { config, lib, ... }: + { + config, + lib, + pkgs, + ... + }: { home.file.".config/quickshell/hyprshell".source = ./hyprshell; }; From 4830746ac0a3a4c4ffc055c6447c2048bf4ea1cf Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 01:22:17 -0400 Subject: [PATCH 10/12] Update README :) --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cafe4a6..2a7d143 100644 --- a/README.md +++ b/README.md @@ -13,4 +13,24 @@ changes as you work. ## Installation To install it permanently, you just have to copy the contents of the repo -to `~/.config/quickshell`. Do that how you must. \ No newline at end of file +to `~/.config/quickshell`. Do that how you must. + +### Nix Flake (The Real Cool Way) + +Add this to your `flake.nix`. Make sure you have the home manager module. + +```nix +inputs = { +hyprshell.url = "git+https://gitgud.foo/thegrind/hypr-shell.git"; +}; +``` + +Then in your `configuration.nix` + +```nix +# Enable home manager +home-manager = { + extraSpecialArgs = { inherit inputs; }; + users.[your username].imports = inputs.hyprshell.homeManagerModules.default; +} +``` \ No newline at end of file From edeb6f26720ac6c75bea7acdd45bc74dc40c2a85 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Sun, 10 Aug 2025 01:22:58 -0400 Subject: [PATCH 11/12] Update README --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a7d143..bfb1e41 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,6 @@ home-manager = { extraSpecialArgs = { inherit inputs; }; users.[your username].imports = inputs.hyprshell.homeManagerModules.default; } -``` \ No newline at end of file +``` + +After it's installed just add `quickshell -c hyprshell` to your hyprland `exec-once` block. \ No newline at end of file From abcaed51da0250e9e49fe31574f11d0a81b4c5e3 Mon Sep 17 00:00:00 2001 From: xbazzi Date: Sun, 10 Aug 2025 00:15:24 -0600 Subject: [PATCH 12/12] Modify quickshell to run as bg process --- Makefile | 9 ++++++--- README.md | 25 ++++++++++++++++++++----- hyprshell/hyprshell | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) create mode 120000 hyprshell/hyprshell diff --git a/Makefile b/Makefile index 057a60b..fe9b8a0 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,9 @@ +.ONESHELL: + dev: - ln -s $(PWD) $(HOME)/.config/quickshell - quickshell -c hyprshell + ln -s $(PWD)/hyprshell $(HOME)/.config/quickshell/hyprshell-dev + quickshell -c hyprshell-dev & cleanup: - unlink $(HOME)/.config/quickshell \ No newline at end of file + pkill quickshell + unlink $(HOME)/.config/quickshell/hyprshell-dev \ No newline at end of file diff --git a/README.md b/README.md index bfb1e41..1bce4f0 100644 --- a/README.md +++ b/README.md @@ -5,27 +5,32 @@ A future starter shell for HyprLand. ## Testing and Development 1. Clone the repository and cd into it -2. `make dev` +2. `make dev` to get a working quickshell +3. `make cleanup` to stop the `quickshell` process and unlink the directories This will symlink the repo to `~/.config/quickshell` and start the quickshell process. You'll be able to see your changes as you work. -## Installation +## Installation + +### Touch Grass Method To install it permanently, you just have to copy the contents of the repo to `~/.config/quickshell`. Do that how you must. +After it's installed, just add `quickshell -c hyprshell &` to your hyprland `exec-once` block. + ### Nix Flake (The Real Cool Way) Add this to your `flake.nix`. Make sure you have the home manager module. ```nix inputs = { -hyprshell.url = "git+https://gitgud.foo/thegrind/hypr-shell.git"; + hyprshell.url = "git+https://gitgud.foo/thegrind/hypr-shell.git"; }; ``` -Then in your `configuration.nix` +Then, either throw this in your `configuration.nix`: ```nix # Enable home manager @@ -35,4 +40,14 @@ home-manager = { } ``` -After it's installed just add `quickshell -c hyprshell` to your hyprland `exec-once` block. \ No newline at end of file +Or, if you load home manager in your flake: + +```nix + homeConfigurations = { + modules = [ + inputs.hyprshell.homeManagerModules.default + # Other files/inputs + ]; + }; + }; +``` \ No newline at end of file diff --git a/hyprshell/hyprshell b/hyprshell/hyprshell new file mode 120000 index 0000000..65c730a --- /dev/null +++ b/hyprshell/hyprshell @@ -0,0 +1 @@ +/home/xbazzi/repos/hypr-shell/hyprshell \ No newline at end of file