Merge pull request 'master-p' (#1) from master-p into master

LGTM
This commit is contained in:
Xander Bazzi 2025-08-10 00:23:44 -06:00
commit a9eef265ad
10 changed files with 78 additions and 36 deletions

View File

@ -1,6 +1,9 @@
.ONESHELL:
dev: dev:
ln -s $(PWD) $(HOME)/.config/quickshell ln -s $(PWD)/hyprshell $(HOME)/.config/quickshell/hyprshell-dev
quickshell -c default quickshell -c hyprshell-dev &
cleanup: cleanup:
unlink $(HOME)/.config/quickshell pkill quickshell
unlink $(HOME)/.config/quickshell/hyprshell-dev

View File

@ -5,12 +5,49 @@ A future starter shell for HyprLand.
## Testing and Development ## Testing and Development
1. Clone the repository and cd into it 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 This will symlink the repo to `~/.config/quickshell` and start the quickshell process. You'll be able to see your
changes as you work. changes as you work.
## Installation ## Installation
### Touch Grass Method
To install it permanently, you just have to copy the contents of the repo To install it permanently, you just have to copy the contents of the repo
to `~/.config/quickshell`. Do that how you must. 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
];
};
};
```

View File

@ -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 {
}
}
}
}

20
flake.nix Normal file
View File

@ -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;
};
};
}

1
hyprshell/hyprshell Symbolic link
View File

@ -0,0 +1 @@
/home/xbazzi/repos/hypr-shell/hyprshell

10
hyprshell/shell.qml Normal file
View File

@ -0,0 +1,10 @@
import "./bars"
import QtQuick
import Quickshell
import Quickshell.Io
ShellRoot {
TopBar {
}
}

View File

@ -6,7 +6,7 @@ import Quickshell.Services.Pipewire
import Quickshell.Widgets import Quickshell.Widgets
Item { Item {
property bool showPopup: true property bool showPopup: false
// Get the default audio sink // Get the default audio sink
property var audioSink: Pipewire.defaultAudioSink property var audioSink: Pipewire.defaultAudioSink