From 178ad2ac8a074b05cb6aaa422bcb23b7d33486f5 Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 12:12:53 +0200 Subject: [PATCH 01/11] flake.nix update --- README.md | 9 ++++++- flake.nix | 74 +++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 61 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 1901027..48939b5 100644 --- a/README.md +++ b/README.md @@ -87,14 +87,21 @@ If you want to use the ArchUpdater Widget, make sure you have any polkit agent i ### Installation +#### For Arch ```bash # Install Quickshell yay -S quickshell-git - # Download and install Noctalia (latest release) mkdir -p ~/.config/quickshell && curl -sL https://github.com/noctalia-dev/noctalia-shell/releases/latest/download/noctalia-latest.tar.gz | tar -xz --strip-components=1 -C ~/.config/quickshell ``` + +#### For Nix + +```bash +nix run github:noctalia-dev/noctalia-shell +``` + ### Usage ```bash diff --git a/flake.nix b/flake.nix index 7025c70..16e04e3 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Desktop shell for Caelestia dots"; + description = "Noctalia shell - a Wayland desktop shell built with Quickshell"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -11,25 +11,57 @@ }; }; - outputs = { - self, - nixpkgs, - systems, - ... - } @ inputs: let - eachSystem = nixpkgs.lib.genAttrs (import systems); - in { - formatter = eachSystem (pkgs: pkgs.alejandra); + outputs = { self, nixpkgs, systems, quickshell, ... }: + let + eachSystem = nixpkgs.lib.genAttrs (import systems); + in { + formatter = eachSystem (pkgs: pkgs.alejandra); - packages = eachSystem (system: rec { - noctalia-shell = nixpkgs.legacyPackages.${system}.callPackage ./nix { - rev = self.rev or self.dirtyRev; - quickshell = inputs.quickshell.packages.${system}.default.override { - withX11 = false; - withI3 = false; - }; - }; - default = noctalia-shell; - }); - }; + packages = eachSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + qs = quickshell.packages.${system}.default.override { + withX11 = false; + withI3 = false; + }; + + runtimeDeps = with pkgs; [ + bash bluez brightnessctl cava cliphist coreutils ddcutil file + findutils gpu-screen-recorder libnotify matugen networkmanager + swww wl-clipboard + ]; + fontconfig = pkgs.makeFontsConf { + fontDirectories = [ pkgs.material-symbols pkgs.roboto pkgs.inter-nerdfont ]; + }; + in + pkgs.stdenv.mkDerivation { + pname = "noctalia-shell"; + version = self.rev or self.dirtyRev or "dirty"; + src = ./.; + + nativeBuildInputs = [ pkgs.gcc pkgs.makeWrapper pkgs.qt6.wrapQtAppsHook ]; + buildInputs = [ qs pkgs.xkeyboard-config pkgs.qt6.qtbase ]; + propagatedBuildInputs = runtimeDeps; + + installPhase = '' + mkdir -p $out/share/noctalia-shell + cp -r ./* $out/share/noctalia-shell + + makeWrapper ${qs}/bin/qs $out/bin/noctalia-shell \ + --prefix PATH : "${pkgs.lib.makeBinPath runtimeDeps}" \ + --set FONTCONFIG_FILE "${fontconfig}" \ + --add-flags "-p $out/share/noctalia-shell" + ''; + + meta = { + description = "A sleek and minimal desktop shell thoughtfully crafted for Wayland, built with Quickshell."; + homepage = "https://github.com/noctalia-dev/noctalia-shell"; + license = pkgs.lib.licenses.mit; + mainProgram = "noctalia-shell"; + }; + } + ); + + defaultPackage = eachSystem (system: self.packages.${system}.default); + }; } From c2ca05b11764c5510ad6908cd4eadfad01b7ac4c Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 13:51:12 +0200 Subject: [PATCH 02/11] flake.nix update --- flake.lock | 6 ++-- flake.nix | 2 +- nix/default.nix | 84 ------------------------------------------------- 3 files changed, 4 insertions(+), 88 deletions(-) delete mode 100644 nix/default.nix diff --git a/flake.lock b/flake.lock index 2a54f7a..bff5156 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", + "lastModified": 1756125398, + "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 16e04e3..239cdf2 100644 --- a/flake.nix +++ b/flake.nix @@ -62,6 +62,6 @@ } ); - defaultPackage = eachSystem (system: self.packages.${system}.default); + defaultPackage = eachSystem (system: self.packages.${system}); }; } diff --git a/nix/default.nix b/nix/default.nix deleted file mode 100644 index 7834f17..0000000 --- a/nix/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - rev, - lib, - stdenv, - makeWrapper, - makeFontsConf, - ddcutil, - brightnessctl, - cava, - networkmanager, - wl-clipboard, - libnotify, - bluez, - bash, - coreutils, - findutils, - file, - material-symbols, - roboto, - inter-nerdfont, - matugen, - cliphist, - swww, - gpu-screen-recorder, - gcc, - qt6, - quickshell, - xkeyboard-config, - extraRuntimeDeps ? [], -}: let - runtimeDeps = - [ - bash - bluez - brightnessctl - cava - cliphist - coreutils - ddcutil - file - findutils - gpu-screen-recorder - libnotify - matugen - networkmanager - swww - wl-clipboard - ] - ++ extraRuntimeDeps; - - fontconfig = makeFontsConf { - fontDirectories = [ - material-symbols - roboto - inter-nerdfont - ]; - }; -in - stdenv.mkDerivation { - pname = "noctalia-shell"; - version = "${rev}"; - src = ./..; - - nativeBuildInputs = [gcc makeWrapper qt6.wrapQtAppsHook]; - buildInputs = [quickshell xkeyboard-config qt6.qtbase]; - propagatedBuildInputs = runtimeDeps; - - installPhase = '' - mkdir -p $out/share/noctalia-shell - cp -r ./* $out/share/noctalia-shell - - makeWrapper ${quickshell}/bin/qs $out/bin/noctalia-shell \ - --prefix PATH : "${lib.makeBinPath runtimeDeps}" \ - --set FONTCONFIG_FILE "${fontconfig}" \ - --add-flags "-p $out/share/noctalia-shell" - ''; - - meta = { - description = "A sleek and minimal desktop shell thoughtfully crafted for Wayland, built with Quickshell."; - homepage = "https://github.com/noctalia-dev/noctalia-shell"; - license = lib.licenses.mit; - mainProgram = "noctalia-shell"; - }; - } From 863107670c0818ecca0a07a73ab3d1dfa6f56a03 Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 14:23:02 +0200 Subject: [PATCH 03/11] README.md --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 48939b5..8484391 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,22 @@ mkdir -p ~/.config/quickshell && curl -sL https://github.com/noctalia-dev/noctal nix run github:noctalia-dev/noctalia-shell ``` + + +##### For flakes + +```nix +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; + inputs.nixpkgs.follows = "nixpkgs"; + } + } +} +``` + ### Usage ```bash From 07fcd2984258dd06be4b472231b527d094e21c8b Mon Sep 17 00:00:00 2001 From: zen Date: Tue, 26 Aug 2025 14:25:35 +0200 Subject: [PATCH 04/11] Update README.md --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8484391..db80d43 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,12 @@ nix run github:noctalia-dev/noctalia-shell noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; - } + } + quickshell = { + url = "github:outfoxxed/quickshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + } } ``` From 52efc632f82863b591499fe63b7c7444c3ca4ecc Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 14:34:01 +0200 Subject: [PATCH 05/11] README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db80d43..b04c594 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ nix run github:noctalia-dev/noctalia-shell noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; - } + }; quickshell = { url = "github:outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; From 256cd06e5c2ccbfd25c77770067ce311e4a6025d Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 15:08:11 +0200 Subject: [PATCH 06/11] README.md --- README.md | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b04c594..07a7f5c 100644 --- a/README.md +++ b/README.md @@ -102,24 +102,46 @@ mkdir -p ~/.config/quickshell && curl -sL https://github.com/noctalia-dev/noctal nix run github:noctalia-dev/noctalia-shell ``` - - -##### For flakes +
+For flakes ```nix { + description = "Example Nix flake with Noctalia + Quickshell"; + inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; }; + quickshell = { url = "github:outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; + }; - } + outputs = { self, nixpkgs, noctalia, quickshell, ... }: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + in { + nixosConfigurations.my-host = nixpkgs.lib.nixosSystem { + system = system; + modules = [ + ./configuration.nix + # Add noctalia to system packages + ({ pkgs, ... }: { + environment.systemPackages = [ + noctalia.packages.${system}.default + quickshell.packages.${system}.default + ]; + }) + ]; + }; + }; } ``` From 7c914b88a3eeffd7b220f2c1472e603c97d335cf Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 15:09:19 +0200 Subject: [PATCH 07/11] README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07a7f5c..d5ea8fa 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ nix run github:noctalia-dev/noctalia-shell }; } ``` +
### Usage From fe8e5a04641d4560d6178d8bd4ae87b75c7bad82 Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 15:12:42 +0200 Subject: [PATCH 08/11] README.md --- README.md | 55 +++++++++++++------------------------------------------ 1 file changed, 13 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index d5ea8fa..b7f98fe 100644 --- a/README.md +++ b/README.md @@ -149,49 +149,20 @@ nix run github:noctalia-dev/noctalia-shell ### Usage ```bash -# Start the shell -qs - -# Launcher -qs ipc call launcher toggle - -# SidePanel -qs ipc call sidePanel toggle - -# Clipboard History -qs ipc call launcher clipboard - -# Calculator -qs ipc call launcher calculator - -# Brightness -qs ipc call brightness increase -qs ipc call brightness decrease - -# Power Panel -qs ipc call powerPanel toggle - -# Idle Inhibitor -qs ipc call idleInhibitor toggle - -# Settings Window -qs ipc call settings toggle - -# Toggle lock screen -qs ipc call lockScreen toggle -``` - -### Keybinds - -| Action | Command | -|--------|---------| -| Toggle Application Launcher | `qs ipc call appLauncher toggle` | -| Toggle Lock Screen | `qs ipc call lockScreen toggle` | +| Action | Command | +| --------------------------- | ----------------------------------------- | +| Start the Shell | `qs` | +| Toggle Application Launcher | `qs ipc call launcher toggle` | +| Toggle Side Panel | `qs ipc call sidePanel toggle` | +| Open Clipboard History | `qs ipc call launcher clipboard` | +| Open Calculator | `qs ipc call launcher calculator` | +| Increase Brightness | `qs ipc call brightness increase` | +| Decrease Brightness | `qs ipc call brightness decrease` | +| Toggle Power Panel | `qs ipc call powerPanel toggle` | +| Toggle Idle Inhibitor | `qs ipc call idleInhibitor toggle` | +| Toggle Settings Window | `qs ipc call settings toggle` | +| Toggle Lock Screen | `qs ipc call lockScreen toggle` | | Toggle Notification History | `qs ipc call notifications toggleHistory` | -| Toggle Settings Panel | `qs ipc call settings toggle` | -| Increase Brightness | `qs ipc call brightness increase` | -| Decrease Brightness | `qs ipc call brightness decrease` | - ### Configuration Access settings through the side panel (top right button) to configure weather, wallpapers, screen recording, audio, network, and theme options. From 4fe56819170276799835d108a6fe5ff01b8c314a Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 15:13:37 +0200 Subject: [PATCH 09/11] README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b7f98fe..e9ff472 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,6 @@ nix run github:noctalia-dev/noctalia-shell ### Usage -```bash | Action | Command | | --------------------------- | ----------------------------------------- | | Start the Shell | `qs` | From 864631f967d7cd935a0013d54a99ebe179a3fa1b Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 15:31:02 +0200 Subject: [PATCH 10/11] Fixed qs ipc call stuf --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e9ff472..c61b4ad 100644 --- a/README.md +++ b/README.md @@ -150,18 +150,18 @@ nix run github:noctalia-dev/noctalia-shell | Action | Command | | --------------------------- | ----------------------------------------- | -| Start the Shell | `qs` | -| Toggle Application Launcher | `qs ipc call launcher toggle` | -| Toggle Side Panel | `qs ipc call sidePanel toggle` | -| Open Clipboard History | `qs ipc call launcher clipboard` | -| Open Calculator | `qs ipc call launcher calculator` | -| Increase Brightness | `qs ipc call brightness increase` | -| Decrease Brightness | `qs ipc call brightness decrease` | -| Toggle Power Panel | `qs ipc call powerPanel toggle` | -| Toggle Idle Inhibitor | `qs ipc call idleInhibitor toggle` | -| Toggle Settings Window | `qs ipc call settings toggle` | -| Toggle Lock Screen | `qs ipc call lockScreen toggle` | -| Toggle Notification History | `qs ipc call notifications toggleHistory` | +| Start the Shell | `noctalia-shell` | +| Toggle Application Launcher | `noctalia-shell ipc call launcher toggle` | +| Toggle Side Panel | `noctalia-shell ipc call sidePanel toggle` | +| Open Clipboard History | `noctalia-shell ipc call launcher clipboard` | +| Open Calculator | `noctalia-shell ipc call launcher calculator` | +| Increase Brightness | `noctalia-shell ipc call brightness increase` | +| Decrease Brightness | `noctalia-shell ipc call brightness decrease` | +| Toggle Power Panel | `noctalia-shell ipc call powerPanel toggle` | +| Toggle Idle Inhibitor | `noctalia-shell ipc call idleInhibitor toggle` | +| Toggle Settings Window | `noctalia-shell ipc call settings toggle` | +| Toggle Lock Screen | `noctalia-shell ipc call lockScreen toggle` | +| Toggle Notification History | `noctalia-shell ipc call notifications toggleHistory` | ### Configuration Access settings through the side panel (top right button) to configure weather, wallpapers, screen recording, audio, network, and theme options. From 246c475dbec36b814768ebff096168ea5e66eb5d Mon Sep 17 00:00:00 2001 From: wer-zen Date: Tue, 26 Aug 2025 15:36:11 +0200 Subject: [PATCH 11/11] Added Usage for binary and non --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index c61b4ad..dab4c14 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,9 @@ nix run github:noctalia-dev/noctalia-shell ### Usage +
+ With the binary + | Action | Command | | --------------------------- | ----------------------------------------- | | Start the Shell | `noctalia-shell` | @@ -162,6 +165,31 @@ nix run github:noctalia-dev/noctalia-shell | Toggle Settings Window | `noctalia-shell ipc call settings toggle` | | Toggle Lock Screen | `noctalia-shell ipc call lockScreen toggle` | | Toggle Notification History | `noctalia-shell ipc call notifications toggleHistory` | + +
+ + +
+ Without the binary + +| Action | Command | +| --------------------------- | ----------------------------------------- | +| Start the Shell | `qs` | +| Toggle Application Launcher | `qs ipc call launcher toggle` | +| Toggle Side Panel | `qs ipc call sidePanel toggle` | +| Open Clipboard History | `qs ipc call launcher clipboard` | +| Open Calculator | `qs ipc call launcher calculator` | +| Increase Brightness | `qs ipc call brightness increase` | +| Decrease Brightness | `qs ipc call brightness decrease` | +| Toggle Power Panel | `qs ipc call powerPanel toggle` | +| Toggle Idle Inhibitor | `qs ipc call idleInhibitor toggle` | +| Toggle Settings Window | `qs ipc call settings toggle` | +| Toggle Lock Screen | `qs ipc call lockScreen toggle` | +| Toggle Notification History | `qs ipc call notifications toggleHistory` | + +
+ + ### Configuration Access settings through the side panel (top right button) to configure weather, wallpapers, screen recording, audio, network, and theme options.