Compare commits

...

7 Commits

Author SHA1 Message Date
Hilton Chain
9e52e49acb
rosenthal: %rosenthal-skeletons: Compute .cache/noctalia/shell-state.json.
* modules/rosenthal/services/desktop.scm (%rosenthal-skeletons)
[.cache/noctalia/shell-state.json]: Replace to computed-file.
2026-02-14 22:36:37 +08:00
Hilton Chain
e17628ab79
examples: noctalia-shell: Revert app launcher view mode to list. 2026-02-14 20:13:18 +08:00
Hilton Chain
92466cc497
services: home-noctalia-shell: Create ~/.config/noctalia on activation. 2026-02-14 19:10:05 +08:00
Hilton Chain
3f4d109963
rosenthal: noctalia-shell: Reduce package output size.
* modules/rosenthal/packages/wm.scm (noctalia-shell) [arguments]: Remove
screenshots.
2026-02-14 19:05:39 +08:00
Hilton Chain
4ea2afff4c
rosenthal: noctalia-shell: Add ddcutil input.
* modules/rosenthal/packages/wm.scm (noctalia-shell) [inputs]: Add ddcutil.
[arguments]: Add it into wrapper.
2026-02-14 19:05:36 +08:00
Hilton Chain
7da3af1adf
examples: wezterm: Use Xwayland. 2026-02-14 16:35:15 +08:00
Hilton Chain
efefd3ba1a
examples: niri: Replace quit action. 2026-02-14 16:35:14 +08:00
6 changed files with 45 additions and 26 deletions

View File

@ -1,8 +0,0 @@
{
"changelogState": {
"lastSeenVersion": "v4.4.3"
},
"telemetry": {
"instanceId": ""
}
}

View File

@ -616,9 +616,8 @@ binds {
// which ensures niri always processes them, even when an inhibitor is active.
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
// The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; }
Ctrl+Alt+Delete { quit; }
Mod+Shift+E hotkey-overlay-title="Restart Noctalia shell" { spawn "herd" "restart" "noctalia-shell"; }
Ctrl+Alt+Delete hotkey-overlay-title="Open Noctalia shell session menu" { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; }
// Powers off the monitors. To turn them back on, do any input like
// moving the mouse or pressing any other key.

View File

@ -1,7 +1,6 @@
{
"appLauncher": {
"terminalCommand": "wezterm start --",
"viewMode": "grid"
"terminalCommand": "wezterm start --"
},
"colorSchemes": {
"darkMode": false,

View File

@ -1,12 +1,8 @@
-- Keep WezTerm maximized so that the installer won't be resized.
-- https://wezterm.org/config/lua/gui-events/gui-startup.html
local wezterm = require 'wezterm'
local mux = wezterm.mux
local config = {}
local config = wezterm.config_builder()
wezterm.on('gui-startup', function(cmd)
local tab, pane, window = mux.spawn_window(cmd or {})
window:gui_window():maximize()
end)
-- Use Xwayland in the LiveCD so that we can change keyboard layout when
-- WezTerm is running.
config.enable_wayland = false
return config

View File

@ -25,6 +25,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages hardware)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
@ -68,6 +69,9 @@
(substitute* "Services/Power/IdleInhibitorService.qml"
(("systemd-inhibit")
(search-input-file inputs "bin/elogind-inhibit")))))
(add-after 'unpack 'reduce-output-size
(lambda _
(delete-file-recursively "Assets/Screenshots")))
(add-after 'install 'make-wrapper
(lambda* (#:key inputs #:allow-other-keys)
(let ((script "noctalia-shell"))
@ -89,6 +93,7 @@ exec ~a --config ~a/etc/xdg/quickshell/noctalia-shell \"$@\"~%"
"bin/cava"
"bin/cliphist"
"bin/convert"
"bin/ddcutil"
"bin/fastfetch"
"bin/fc-list"
"bin/find"
@ -118,6 +123,7 @@ exec ~a --config ~a/etc/xdg/quickshell/noctalia-shell \"$@\"~%"
cava
cliphist
coreutils-minimal
ddcutil
elogind
fastfetch
findutils

View File

@ -35,6 +35,7 @@
#:use-module (gnu packages fcitx5)
#:use-module (gnu packages fonts)
#:use-module (gnu packages gnome)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages networking)
#:use-module (gnu packages polkit)
@ -312,6 +313,17 @@ compositor.")))
(file-like noctalia-shell)
"File-like object to provide @command{/bin/noctalia-shell}."))
;; Create ~/.config/noctalia directory, otherwise Noctalia shell won't show up
;; on initial startup.
(define (%home-noctalia-shell-activation _)
(with-imported-modules (source-module-closure '((guix build utils)))
#~(begin
(use-modules (guix build utils))
(let ((xdg-config-home
(or (getenv "XDG_CONFIG_HOME")
(in-vicinity (getenv "HOME") ".config"))))
(mkdir-p (in-vicinity xdg-config-home "noctalia"))))))
(define %home-noctalia-shell-shepherd
(match-record-lambda <home-noctalia-shell-configuration>
(noctalia-shell)
@ -329,10 +341,12 @@ compositor.")))
(service-type
(name 'home-noctalia-shell)
(extensions
(list (service-extension home-shepherd-service-type
%home-noctalia-shell-shepherd)
(service-extension home-profile-service-type
(compose list home-noctalia-shell-configuration-noctalia-shell))))
(list (service-extension home-profile-service-type
(compose list home-noctalia-shell-configuration-noctalia-shell))
(service-extension home-activation-service-type
%home-noctalia-shell-activation)
(service-extension home-shepherd-service-type
%home-noctalia-shell-shepherd)))
(default-value (home-noctalia-shell-configuration))
(description "")))
@ -574,7 +588,20 @@ gtk-key-theme-name = ~a~%"
,(local-file "../examples/dot-config/xfce4/helpers.rc"))
;; Prevent Noctalia shell initial screen.
(".cache/noctalia/shell-state.json"
,(local-file "../examples/dot-cache/noctalia/shell-state.json"))
,(computed-file "noctalia-shell-state.json"
(with-extensions (list guile-json-4)
#~(begin
(use-modules (json))
(call-with-output-file #$output
(lambda (port)
(scm->json
`(("changelogState"
("lastSeenVersion"
. ,(string-append "v" #$(package-version noctalia-shell))))
("telemetry"
("instanceId" . "")))
port
#:pretty #t)))))))
;; Selected from the default skeletons.
(".config/gdb/gdbinit" ,%default-gdbinit)