diff --git a/Makefile b/Makefile index d628a21..fe9b8a0 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,9 @@ +.ONESHELL: + dev: - ln -s $(PWD) $(HOME)/.config/quickshell - quickshell -c default + 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 cafe4a6..1bce4f0 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,49 @@ 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. \ No newline at end of file +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"; +}; +``` + +Then, either throw this in your `configuration.nix`: + +```nix +# Enable home manager +home-manager = { + extraSpecialArgs = { inherit inputs; }; + users.[your username].imports = inputs.hyprshell.homeManagerModules.default; +} +``` + +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/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..e7c3aa1 --- /dev/null +++ b/flake.nix @@ -0,0 +1,20 @@ +{ + description = "Quickshell Hyprshell config"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + outputs = + { self, nixpkgs }: + { + homeManagerModules.default = + { + config, + lib, + pkgs, + ... + }: + { + home.file.".config/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/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 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 98% rename from default/widgets/VolumeMixer.qml rename to hyprshell/widgets/VolumeMixer.qml index 2eaa572..c78376d 100644 --- a/default/widgets/VolumeMixer.qml +++ b/hyprshell/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