summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorc0co.channel <c0co.channel@braincrime.com>2025-09-20 16:24:16 +0100
committerc0co.channel <c0co.channel@braincrime.com>2025-09-20 16:24:16 +0100
commite9ae23f145af5dad17175d73d9095860ec0a4c07 (patch)
tree26194fa5c12ef16345ffe2c9a3397572f0c383bf
parent9715f33cfd7446099ec9e26e075b6a6b1904d0a3 (diff)
Reorganize path structure, add disp browsers & pwn
-rw-r--r--disposable/firefox-dsp.scm106
-rw-r--r--disposable/icecat-dsp.scm106
-rw-r--r--disposable/packages/x-resize-kiosk.scm22
-rw-r--r--dom0/home.scm2
-rw-r--r--dom0/patches/libvirt-qemu-caps.patch73
-rw-r--r--dom0/system.scm1
-rw-r--r--files/misc-config/sway-config (renamed from dom0/files/misc-config/sway-config)10
-rw-r--r--files/nonguix-signing-key.pub (renamed from dom0/files/nonguix-signing-key.pub)0
-rw-r--r--files/scripts/gpg-agent-tty (renamed from dom0/files/scripts/gpg-agent-tty)0
-rw-r--r--files/scripts/sway-login (renamed from dom0/files/scripts/sway-login)0
-rw-r--r--files/scripts/sway-login-laptop (renamed from dom0/files/scripts/sway-login-laptop)0
-rw-r--r--files/wallpapers/taclnc.png (renamed from dom0/files/wallpapers/taclnc.png)bin1029948 -> 1029948 bytes
-rw-r--r--pwn/packages.scm40
-rw-r--r--vmstore/disposable/disposable-system.scm141
-rw-r--r--vmstore/disposable/files/misc-config/sway-config239
-rw-r--r--vmstore/disposable/files/nonguix-signing-key.pub6
-rw-r--r--vmstore/disposable/files/scripts/sway-login3
-rw-r--r--vmstore/disposable/home.scm81
18 files changed, 283 insertions, 547 deletions
diff --git a/disposable/firefox-dsp.scm b/disposable/firefox-dsp.scm
new file mode 100644
index 0000000..f335d62
--- /dev/null
+++ b/disposable/firefox-dsp.scm
@@ -0,0 +1,106 @@
+;; Modules to import to access variables used.
+(define-module (disposable icecat-dsp)
+ #:use-module (gnu)
+ #:use-module (gnu home)
+ #:use-module (gnu home services)
+ #:use-module (gnu home services desktop)
+ #:use-module (nongnu packages mozilla)
+ #:use-module (nongnu packages linux)
+ #:use-module (disposable packages x-resize-kiosk))
+
+
+(use-service-modules linux guix pm audio virtualization xorg desktop
+ networking dbus spice)
+(use-package-modules linux audio libusb wm fonts security-token freedesktop xorg xdisorg browser-extensions)
+
+(define guest-environment
+ (home-environment
+ (packages (list firefox ublock-origin/icecat x-resize-kiosk))
+ (services (list
+ (service home-startx-command-service-type
+ (xorg-configuration
+ (modules (cons xf86-video-qxl
+ %default-xorg-modules))
+ (keyboard-layout (keyboard-layout "gb"))))
+ (simple-service 'add-xinitrc
+ home-files-service-type
+ `((".xinitrc"
+ ,(plain-file "xinitrc"
+ (string-append
+ "spice-vdagent \n"
+ "x-resize -kd &\n"
+ "exec firefox")))))))))
+
+(operating-system
+ (locale "en_GB.utf8")
+ (timezone "Europe/London")
+ (keyboard-layout (keyboard-layout "gb"))
+ (host-name "firefox-dsp")
+
+ ;; Users ('root' is implicit).
+ (users (cons (user-account
+ (name "guest")
+ (comment "")
+ (password (crypt "test" "$6$abc"))
+ (group "users")
+ (supplementary-groups '("audio" "video" "plugdev")))
+ %base-user-accounts))
+
+ (bootloader (bootloader-configuration
+ (timeout 0)
+ (terminal-outputs '(serial))
+ (bootloader grub-bootloader)))
+
+ (file-systems (cons (file-system
+ (device (file-system-label "system-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+
+ ;; Non-free
+ (kernel linux)
+
+ ;; Services (system-wide)
+ (services (append
+ (modify-services %base-services
+ ;; Add non-free substitutes
+ (delete login-service-type)
+ (delete mingetty-service-type)
+ (delete console-font-service-type)
+ (guix-service-type
+ config =>
+ (guix-configuration
+ (inherit config)
+ (substitute-urls
+ (append (list "https://substitutes.nonguix.org")
+ %default-substitute-urls))
+ (authorized-keys
+ (append (list (local-file "../files/nonguix-signing-key.pub"))
+ %default-authorized-guix-keys)))))
+ (list
+ (service greetd-service-type
+ (greetd-configuration
+ (greeter-supplementary-groups (list "video" "input"))
+ (terminals
+ (list
+ (greetd-terminal-configuration
+ (terminal-vt "1")
+ (terminal-switch #t)
+ (initial-session-user "guest")
+ (initial-session-command "startx"))
+ (greetd-terminal-configuration (terminal-vt "2"))
+ (greetd-terminal-configuration (terminal-vt "3"))))))
+
+ (service guix-home-service-type
+ `(("guest" ,guest-environment)))
+
+ ;; spice for VMs
+ (service dbus-root-service-type)
+ (service spice-vdagent-service-type)
+ (service qemu-guest-agent-service-type)
+ (service elogind-service-type)
+ (service network-manager-service-type)
+ (service wpa-supplicant-service-type)
+ ;; udev
+ (udev-rules-service 'pipewire-add-udev-rules pipewire)
+ (udev-rules-service 'fido2 libfido2 #:groups '("plugdev"))))))
diff --git a/disposable/icecat-dsp.scm b/disposable/icecat-dsp.scm
new file mode 100644
index 0000000..f440ecc
--- /dev/null
+++ b/disposable/icecat-dsp.scm
@@ -0,0 +1,106 @@
+;; Modules to import to access variables used.
+(define-module (disposable icecat-dsp)
+ #:use-module (gnu)
+ #:use-module (gnu home)
+ #:use-module (gnu home services)
+ #:use-module (gnu home services desktop)
+ #:use-module (gnu packages gnuzilla)
+ #:use-module (nongnu packages linux)
+ #:use-module (disposable packages x-resize-kiosk))
+
+
+(use-service-modules linux guix pm audio virtualization xorg desktop
+ networking dbus spice)
+(use-package-modules linux audio libusb wm fonts security-token freedesktop xorg xdisorg browser-extensions)
+
+(define guest-environment
+ (home-environment
+ (packages (list icecat ublock-origin/icecat x-resize-kiosk))
+ (services (list
+ (service home-startx-command-service-type
+ (xorg-configuration
+ (modules (cons xf86-video-qxl
+ %default-xorg-modules))
+ (keyboard-layout (keyboard-layout "gb"))))
+ (simple-service 'add-xinitrc
+ home-files-service-type
+ `((".xinitrc"
+ ,(plain-file "xinitrc"
+ (string-append
+ "spice-vdagent \n"
+ "x-resize -kd &\n"
+ "exec icecat")))))))))
+
+(operating-system
+ (locale "en_GB.utf8")
+ (timezone "Europe/London")
+ (keyboard-layout (keyboard-layout "gb"))
+ (host-name "icecat-dsp")
+
+ ;; Users ('root' is implicit).
+ (users (cons (user-account
+ (name "guest")
+ (comment "")
+ (password (crypt "test" "$6$abc"))
+ (group "users")
+ (supplementary-groups '("audio" "video" "plugdev")))
+ %base-user-accounts))
+
+ (bootloader (bootloader-configuration
+ (timeout 0)
+ (terminal-outputs '(serial))
+ (bootloader grub-bootloader)))
+
+ (file-systems (cons (file-system
+ (device (file-system-label "system-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+
+ ;; Non-free
+ (kernel linux)
+
+ ;; Services (system-wide)
+ (services (append
+ (modify-services %base-services
+ ;; Add non-free substitutes
+ (delete login-service-type)
+ (delete mingetty-service-type)
+ (delete console-font-service-type)
+ (guix-service-type
+ config =>
+ (guix-configuration
+ (inherit config)
+ (substitute-urls
+ (append (list "https://substitutes.nonguix.org")
+ %default-substitute-urls))
+ (authorized-keys
+ (append (list (local-file "../files/nonguix-signing-key.pub"))
+ %default-authorized-guix-keys)))))
+ (list
+ (service greetd-service-type
+ (greetd-configuration
+ (greeter-supplementary-groups (list "video" "input"))
+ (terminals
+ (list
+ (greetd-terminal-configuration
+ (terminal-vt "1")
+ (terminal-switch #t)
+ (initial-session-user "guest")
+ (initial-session-command "startx"))
+ (greetd-terminal-configuration (terminal-vt "2"))
+ (greetd-terminal-configuration (terminal-vt "3"))))))
+
+ (service guix-home-service-type
+ `(("guest" ,guest-environment)))
+
+ ;; spice for VMs
+ (service dbus-root-service-type)
+ (service spice-vdagent-service-type)
+ (service qemu-guest-agent-service-type)
+ (service elogind-service-type)
+ (service network-manager-service-type)
+ (service wpa-supplicant-service-type)
+ ;; udev
+ (udev-rules-service 'pipewire-add-udev-rules pipewire)
+ (udev-rules-service 'fido2 libfido2 #:groups '("plugdev"))))))
diff --git a/disposable/packages/x-resize-kiosk.scm b/disposable/packages/x-resize-kiosk.scm
new file mode 100644
index 0000000..2cc154a
--- /dev/null
+++ b/disposable/packages/x-resize-kiosk.scm
@@ -0,0 +1,22 @@
+(define-module (disposable packages x-resize-kiosk)
+ #:use-module (gnu)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:export (x-resize-kiosk))
+
+(use-package-modules xdisorg)
+
+(define x-resize-kiosk
+ (package
+ (inherit x-resize)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/awth13/x-resize")
+ (commit "x-resize-kiosk")))
+ (file-name (git-file-name "x-resize-kiosk" "0.1"))
+ (sha256
+ (base32
+ "145a93knk5iwcvm51791wk72a22yrvf32plwc3apq4f4a2z2vklz"))))
+ (inputs (modify-inputs (package-inputs x-resize)
+ (append xdotool)))))
diff --git a/dom0/home.scm b/dom0/home.scm
index 2668850..d7bd9a7 100644
--- a/dom0/home.scm
+++ b/dom0/home.scm
@@ -16,7 +16,7 @@
#:use-module (nonguix transformations)
#:export (dom0-home-environment))
- (use-package-modules compression gnome gnome-xyz music video fonts freedesktop
+ (use-package-modules compression gnome gnome-xyz music video fonts freedesktop
linux package-management pulseaudio ssh
terminals xdisorg xorg glib virtualization
wm messaging gstreamer)
diff --git a/dom0/patches/libvirt-qemu-caps.patch b/dom0/patches/libvirt-qemu-caps.patch
deleted file mode 100644
index dd110a6..0000000
--- a/dom0/patches/libvirt-qemu-caps.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From e7239c619fcaf35b8b605ce07c5d5b15351b3a62 Mon Sep 17 00:00:00 2001
-From: anonymix007 <48598263+anonymix007@users.noreply.github.com>
-Date: Wed, 4 Jun 2025 12:05:23 +0300
-Subject: [PATCH] qemu: capabilities: Check if cpuModels is not NULL before
- trying to dereference it
-
-accel->cpuModels field might be NULL if QEMU does not return CPU models.
-The following backtrace is observed in such cases:
-0 virQEMUCapsProbeQMPCPUDefinitions (qemuCaps=qemuCaps@entry=0x7f1890003ae0, accel=accel@entry=0x7f1890003c10, mon=mon@entry=0x7f1890005270)
- at ../src/qemu/qemu_capabilities.c:3091
-1 0x00007f18b42fa7b1 in virQEMUCapsInitQMPMonitor (qemuCaps=qemuCaps@entry=0x7f1890003ae0, mon=0x7f1890005270) at ../src/qemu/qemu_capabilities.c:5746
-2 0x00007f18b42fafaf in virQEMUCapsInitQMPSingle (qemuCaps=qemuCaps@entry=0x7f1890003ae0, libDir=libDir@entry=0x7f186c1e70f0 "/var/lib/libvirt/qemu",
- runUid=runUid@entry=955, runGid=runGid@entry=955, onlyTCG=onlyTCG@entry=false) at ../src/qemu/qemu_capabilities.c:5832
-3 0x00007f18b42fb1a5 in virQEMUCapsInitQMP (qemuCaps=0x7f1890003ae0, libDir=0x7f186c1e70f0 "/var/lib/libvirt/qemu", runUid=955, runGid=955)
- at ../src/qemu/qemu_capabilities.c:5848
-4 virQEMUCapsNewForBinaryInternal (hostArch=VIR_ARCH_X86_64, binary=binary@entry=0x7f1868002fc0 "/usr/bin/qemu-system-alpha",
- libDir=0x7f186c1e70f0 "/var/lib/libvirt/qemu", runUid=955, runGid=955,
- hostCPUSignature=0x7f186c1e9f20 "AuthenticAMD, AMD Ryzen 9 7950X 16-Core Processor, family: 25, model: 97, stepping: 2", microcodeVersion=174068233,
- kernelVersion=0x7f186c194200 "6.14.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 29 May 2025 21:42:15 +0000", cpuData=0x7f186c1ea490)
- at ../src/qemu/qemu_capabilities.c:5907
-5 0x00007f18b42fb4c9 in virQEMUCapsNewData (binary=0x7f1868002fc0 "/usr/bin/qemu-system-alpha", privData=0x7f186c194280)
- at ../src/qemu/qemu_capabilities.c:5942
-6 0x00007f18bd42d302 in virFileCacheNewData (cache=0x7f186c193730, name=0x7f1868002fc0 "/usr/bin/qemu-system-alpha") at ../src/util/virfilecache.c:206
-7 virFileCacheValidate (cache=cache@entry=0x7f186c193730, name=name@entry=0x7f1868002fc0 "/usr/bin/qemu-system-alpha", data=data@entry=0x7f18b67c37c0)
- at ../src/util/virfilecache.c:269
-8 0x00007f18bd42d5b8 in virFileCacheLookup (cache=cache@entry=0x7f186c193730, name=name@entry=0x7f1868002fc0 "/usr/bin/qemu-system-alpha")
- at ../src/util/virfilecache.c:301
-9 0x00007f18b42fb679 in virQEMUCapsCacheLookup (cache=cache@entry=0x7f186c193730, binary=binary@entry=0x7f1868002fc0 "/usr/bin/qemu-system-alpha")
- at ../src/qemu/qemu_capabilities.c:6036
-10 0x00007f18b42fb785 in virQEMUCapsInitGuest (caps=<optimized out>, cache=<optimized out>, hostarch=VIR_ARCH_X86_64, guestarch=VIR_ARCH_ALPHA)
- at ../src/qemu/qemu_capabilities.c:1037
-11 virQEMUCapsInit (cache=0x7f186c193730) at ../src/qemu/qemu_capabilities.c:1229
-12 0x00007f18b431d311 in virQEMUDriverCreateCapabilities (driver=driver@entry=0x7f186c01f410) at ../src/qemu/qemu_conf.c:1553
-13 0x00007f18b431d663 in virQEMUDriverGetCapabilities (driver=0x7f186c01f410, refresh=<optimized out>) at ../src/qemu/qemu_conf.c:1623
-14 0x00007f18b435e3e4 in qemuConnectGetVersion (conn=<optimized out>, version=0x7f18b67c39b0) at ../src/qemu/qemu_driver.c:1492
-15 0x00007f18bd69c5e8 in virConnectGetVersion (conn=0x55bc5f4cda20, hvVer=hvVer@entry=0x7f18b67c39b0) at ../src/libvirt-host.c:201
-16 0x000055bc34ef3627 in remoteDispatchConnectGetVersion (server=0x55bc5f4b93f0, msg=0x55bc5f4cdf60, client=0x55bc5f4c66d0, rerr=0x7f18b67c3a80,
- ret=0x55bc5f4b8670) at src/remote/remote_daemon_dispatch_stubs.h:1265
-17 remoteDispatchConnectGetVersionHelper (server=0x55bc5f4b93f0, client=0x55bc5f4c66d0, msg=0x55bc5f4cdf60, rerr=0x7f18b67c3a80, args=0x0, ret=0x55bc5f4b8670)
- at src/remote/remote_daemon_dispatch_stubs.h:1247
-18 0x00007f18bd5506da in virNetServerProgramDispatchCall (prog=0x55bc5f4cae90, server=0x55bc5f4b93f0, client=0x55bc5f4c66d0, msg=0x55bc5f4cdf60)
- at ../src/rpc/virnetserverprogram.c:423
-19 virNetServerProgramDispatch (prog=0x55bc5f4cae90, server=server@entry=0x55bc5f4b93f0, client=0x55bc5f4c66d0, msg=0x55bc5f4cdf60)
- at ../src/rpc/virnetserverprogram.c:299
-20 0x00007f18bd556c32 in virNetServerProcessMsg (srv=srv@entry=0x55bc5f4b93f0, client=<optimized out>, prog=<optimized out>, msg=<optimized out>)
- at ../src/rpc/virnetserver.c:135
-21 0x00007f18bd556f77 in virNetServerHandleJob (jobOpaque=0x55bc5f4d2bb0, opaque=0x55bc5f4b93f0) at ../src/rpc/virnetserver.c:155
-22 0x00007f18bd47dd19 in virThreadPoolWorker (opaque=<optimized out>) at ../src/util/virthreadpool.c:164
-23 0x00007f18bd47d253 in virThreadHelper (data=0x55bc5f4b7810) at ../src/util/virthread.c:256
-24 0x00007f18bce117eb in start_thread (arg=<optimized out>) at pthread_create.c:448
-25 0x00007f18bce9518c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
-
-Signed-off-by: anonymix007 <anonymix007@users.noreply.github.com>
----
- src/qemu/qemu_capabilities.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
-index 3cbdf3de82..8ba528fc07 100644
---- a/src/qemu/qemu_capabilities.c
-+++ b/src/qemu/qemu_capabilities.c
-@@ -3087,6 +3087,9 @@ virQEMUCapsProbeQMPCPUDefinitions(virQEMUCaps *qemuCaps,
- if (virQEMUCapsFetchCPUDefinitions(mon, qemuCaps->arch, &accel->cpuModels) < 0)
- return -1;
-
-+ if (!accel->cpuModels)
-+ return 0;
-+
- defs = accel->cpuModels;
- for (i = 0; i < defs->ncpus; i++) {
- if (STREQ_NULLABLE(defs->cpus[i].name, "max")) {
---
-2.51.0
diff --git a/dom0/system.scm b/dom0/system.scm
index 05437b4..5892ef5 100644
--- a/dom0/system.scm
+++ b/dom0/system.scm
@@ -166,5 +166,6 @@
(packages (cons* vim
git
cryptsetup
+ virt-manager
strace
%base-packages)))
diff --git a/dom0/files/misc-config/sway-config b/files/misc-config/sway-config
index 4f0b60c..891de4c 100644
--- a/dom0/files/misc-config/sway-config
+++ b/files/misc-config/sway-config
@@ -21,7 +21,11 @@ set $menu fuzzel
### Output configuration
#
# Default wallpaper (more resolutions are available in /gnu/store/49nyzc50jn2svwb9i7k5739cvgaiac72-sway-1.10.1/share/backgrounds/sway/)
-output * bg $HOME/.config/guix-config/dom0/files/wallpapers/taclnc.png fill
+output * bg $HOME/.gubes/files/wallpapers/taclnc.png fill
+
+# swaylock
+bindsym $mod+l exec swaylock -i $HOME/.gubes/files/wallpapers/taclnc.png
+
#
# Example configuration:
#
@@ -165,7 +169,7 @@ exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
bindsym $mod+a focus parent
#
# Scratchpad:
-#
+
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
@@ -213,7 +217,7 @@ bindsym $mod+r mode "resize"
# Special key to take a screenshot with grim
bindsym $mod+p exec grimshot copy area
# swaylock
- bindsym $mod+l exec swaylock
+ bindsym $mod+l exec swaylock -i /home/dom0/.config/gubes/files/wallpapers/taclnc.png
#
# Status Bar:
diff --git a/dom0/files/nonguix-signing-key.pub b/files/nonguix-signing-key.pub
index 56ee811..56ee811 100644
--- a/dom0/files/nonguix-signing-key.pub
+++ b/files/nonguix-signing-key.pub
diff --git a/dom0/files/scripts/gpg-agent-tty b/files/scripts/gpg-agent-tty
index ca4bb5a..ca4bb5a 100644
--- a/dom0/files/scripts/gpg-agent-tty
+++ b/files/scripts/gpg-agent-tty
diff --git a/dom0/files/scripts/sway-login b/files/scripts/sway-login
index 2711786..2711786 100644
--- a/dom0/files/scripts/sway-login
+++ b/files/scripts/sway-login
diff --git a/dom0/files/scripts/sway-login-laptop b/files/scripts/sway-login-laptop
index 3792a85..3792a85 100644
--- a/dom0/files/scripts/sway-login-laptop
+++ b/files/scripts/sway-login-laptop
diff --git a/dom0/files/wallpapers/taclnc.png b/files/wallpapers/taclnc.png
index 248d965..248d965 100644
--- a/dom0/files/wallpapers/taclnc.png
+++ b/files/wallpapers/taclnc.png
Binary files differ
diff --git a/pwn/packages.scm b/pwn/packages.scm
new file mode 100644
index 0000000..50980c7
--- /dev/null
+++ b/pwn/packages.scm
@@ -0,0 +1,40 @@
+(define pwn packages
+#:use-module: (gnu)
+#:use-module: (gnu packages networking)
+#:use-module: (gnu packages databases)
+#:use-module: (gnu packages rdesktop)
+#:use-module: (gnu packages vnc)
+#:use-module: (gnu packages password-utils)
+#:use-module: (gnu packages python-web)
+#:use-module: (gnu packages package-management)
+export (pwn-packages))
+
+(packages list (;; guix channel packages
+ ;; basic packages from (gnu)
+ curl rsync rlogin
+ samba ; provides smbclient
+
+ ;; from (admin)
+ nmap tcpdump
+
+ ;; from (networking)
+ socat fping
+
+ ;; from (password-utils)
+ john-the-ripper-jumbo
+ hashcat thc-hydra
+
+ ; from (databases)
+ mysql
+
+ ; from (rdesktop)
+ freerdp ; provides xfreerdp client
+
+ ; from (vnc)
+ remmina
+
+ ; from (python-web)
+ python-scrapy
+
+ ; from (package-management)
+ nix pipx))
diff --git a/vmstore/disposable/disposable-system.scm b/vmstore/disposable/disposable-system.scm
deleted file mode 100644
index d5ec979..0000000
--- a/vmstore/disposable/disposable-system.scm
+++ /dev/null
@@ -1,141 +0,0 @@
-;; Modules to import to access variables used.
-(define-module (corpo system)
- #:use-module (gnu)
- #:use-module (gnu services guix)
- #:use-module (nongnu packages linux)
- #:use-module (nongnu system linux-initrd)
- #:use-module (nongnu packages nvidia)
- #:use-module (nongnu services nvidia)
- #:use-module (corpo home))
-
-(use-service-modules linux guix desktop pm audio virtualization
- networking dbus xorg avahi spice)
-(use-package-modules linux audio libusb wm fonts
- freedesktop vim security-token cryptsetup)
-
-(operating-system
- (locale "en_GB.utf8")
- (timezone "Europe/London")
- (keyboard-layout (keyboard-layout "gb"))
- (host-name "disposable")
-
- ;; Users ('root' is implicit).
- (users (cons* (user-account
- (name "trash")
- (comment "disposable machine")
- (password (crypt "trash" "$6$abc"))
- (group "users")
- (home-directory "/home/trash")
- (supplementary-groups '("wheel" "plugdev" "netdev" "audio" "video")))
- %base-user-accounts))
-
- (bootloader (bootloader-configuration
- (bootloader grub-bootloader)
- (targets '("/dev/vda"))
- (terminal-outputs '(console))))
-
- (file-systems (cons (file-system
- (mount-point "/")
- (device "/dev/vda1")
- (type "ext4"))
- %base-file-systems))
-
- ;; Non-free
- (kernel linux)
- (kernel-arguments '("modprobe.blacklist=nouveau"
- ;"nvidia_drm.modeset=1"
- "quiet"))
- (firmware (list linux-firmware))
- (initrd microcode-initrd)
-
- ;; Services (system-wide)
- (services (append
- (modify-services %base-services
- (delete login-service-type)
- (delete mingetty-service-type)
- (delete console-font-service-type)
- ;; Add non-free substitutes
- (guix-service-type
- config =>
- (guix-configuration
- (inherit config)
- (substitute-urls
- (append (list "https://substitutes.nonguix.org")
- %default-substitute-urls))
- (authorized-keys
- (append (list (local-file "files/nonguix-signing-key.pub"))
- %default-authorized-guix-keys)))))
- (list
- ;; NVIDIA
- ;(service nvidia-service-type)
-
- ;; systemd dependencies
- (service elogind-service-type)
-
- ;; Spice and Qemu for VMs
- (service spice-vdagent-service-type)
- (service qemu-guest-agent-service-type)
-
- ;; PAM and login
- (service greetd-service-type
- (greetd-configuration
- (greeter-supplementary-groups (list "video" "input"))
- (terminals
- (list
- (greetd-terminal-configuration
- (terminal-vt "1")
- (terminal-switch #t))
- (greetd-terminal-configuration (terminal-vt "2"))
- (greetd-terminal-configuration (terminal-vt "3"))))))
-
- (service console-font-service-type
- (map (lambda (tty)
- (cons tty (file-append
- font-terminus
- "/share/consolefonts/ter-132n")))
- '("tty1" "tty2" "tty3")))
-
- (service screen-locker-service-type
- (screen-locker-configuration
- (name "swaylock")
- (program (file-append swaylock "/bin/swaylock"))
- (using-pam? #t)
- (using-setuid? #t)))
-
- ;; Networking
- (service network-manager-service-type)
- (service wpa-supplicant-service-type)
-
- ;; dbus
- (service avahi-service-type)
- (service udisks-service-type)
- (service accountsservice-service-type)
- (service colord-service-type)
- (service polkit-service-type)
- (service dbus-root-service-type)
-
- ;; Cleanup stale font cache
- fontconfig-file-system-service
-
- ;; Power and thermals
- (service thermald-service-type)
- (service power-profiles-daemon-service-type)
-
- ;; Xwayland
- (service x11-socket-directory-service-type)
-
- ;; Time
- (service ntp-service-type)
-
- ;; udev including yubikey
- (udev-rules-service 'pipewire-add-udev-rules pipewire)
- (udev-rules-service 'fido2 libfido2 #:groups '("plugdev"))
- ;; corpo home
- (service guix-home-service-type
- `(("worker" ,corpo-home-environment))))))
-
- ;; Packages (system-wide)
- (packages (cons* vim
- cryptsetup
- strace
- %base-packages)))
diff --git a/vmstore/disposable/files/misc-config/sway-config b/vmstore/disposable/files/misc-config/sway-config
deleted file mode 100644
index ac6ce90..0000000
--- a/vmstore/disposable/files/misc-config/sway-config
+++ /dev/null
@@ -1,239 +0,0 @@
-# Default config for sway
-#
-# Copy this to ~/.config/sway/config and edit it to your liking.
-#
-# Read `man 5 sway` for a complete reference.
-
-### Variables
-#
-# Logo key. Use Mod1 for Alt.
-set $mod Mod4
-# Home row direction keys, like vim
-set $left h
-set $down j
-set $up k
-set $right l
-# Your preferred terminal emulator
-set $term foot
-# Your preferred application launcher
-set $menu fuzzel
-
-### Output configuration
-#
-# Default wallpaper (more resolutions are available in /gnu/store/49nyzc50jn2svwb9i7k5739cvgaiac72-sway-1.10.1/share/backgrounds/sway/)
-#output * bg #000000 solid fill
-#
-# Example configuration:
-#
-# output HDMI-A-1 resolution 1920x1080 position 1920,0
-output * resolution 1920x1080
-exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
-exec spice-vdagent
-# You can get the names of your outputs by running: swaymsg -t get_outputs
-
-### Idle configuration
-#
-# Example configuration:
-#
-# exec swayidle -w \
-# timeout 300 'swaylock -f -c 000000' \
-# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
-# before-sleep 'swaylock -f -c 000000'
-#
-# This will lock your screen after 300 seconds of inactivity, then turn off
-# your displays after another 300 seconds, and turn your screens back on when
-# resumed. It will also lock your screen before your computer goes to sleep.
-
-### Input configuration
- input * {
- xkb_layout "gb"
- }
-
- input <identifier> left_handed enabled
-# Example configuration:
-#
-# input "2:14:SynPS/2_Synaptics_TouchPad" {
-# dwt enabled
-# tap enabled
-# natural_scroll enabled
-# middle_emulation enabled
-# }
-#
-# You can get the names of your inputs by running: swaymsg -t get_inputs
-# Read `man 5 sway-input` for more information about this section.
-
-### Key bindings
-#
-# Basics:
-#
- # Start a terminal
- bindsym $mod+Return exec $term
-
- # Kill focused window
- bindsym $mod+Shift+q kill
-
- # Start your launcher
- bindsym $mod+d exec $menu
-
- # Drag floating windows by holding down $mod and left mouse button.
- # Resize them with right mouse button + $mod.
- # Despite the name, also works for non-floating windows.
- # Change normal to inverse to use left mouse button for resizing and right
- # mouse button for dragging.
- floating_modifier $mod normal
-
- # Reload the configuration file
- bindsym $mod+Shift+c reload
-
- # Exit sway (logs you out of your Wayland session)
- bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
-#
-# Moving around:
-#
- # Move your focus around
- bindsym $mod+$left focus left
- bindsym $mod+$down focus down
- bindsym $mod+$up focus up
- bindsym $mod+$right focus right
- # Or use $mod+[up|down|left|right]
- bindsym $mod+Left focus left
- bindsym $mod+Down focus down
- bindsym $mod+Up focus up
- bindsym $mod+Right focus right
-
- # Move the focused window with the same, but add Shift
- bindsym $mod+Shift+$left move left
- bindsym $mod+Shift+$down move down
- bindsym $mod+Shift+$up move up
- bindsym $mod+Shift+$right move right
- # Ditto, with arrow keys
- bindsym $mod+Shift+Left move left
- bindsym $mod+Shift+Down move down
- bindsym $mod+Shift+Up move up
- bindsym $mod+Shift+Right move right
-#
-# Workspaces:
-#
- # Switch to workspace
- bindsym $mod+1 workspace number 1
- bindsym $mod+2 workspace number 2
- bindsym $mod+3 workspace number 3
- bindsym $mod+4 workspace number 4
- bindsym $mod+5 workspace number 5
- bindsym $mod+6 workspace number 6
- bindsym $mod+7 workspace number 7
- bindsym $mod+8 workspace number 8
- bindsym $mod+9 workspace number 9
- bindsym $mod+0 workspace number 10
- # Move focused container to workspace
- bindsym $mod+Shift+1 move container to workspace number 1
- bindsym $mod+Shift+2 move container to workspace number 2
- bindsym $mod+Shift+3 move container to workspace number 3
- bindsym $mod+Shift+4 move container to workspace number 4
- bindsym $mod+Shift+5 move container to workspace number 5
- bindsym $mod+Shift+6 move container to workspace number 6
- bindsym $mod+Shift+7 move container to workspace number 7
- bindsym $mod+Shift+8 move container to workspace number 8
- bindsym $mod+Shift+9 move container to workspace number 9
- bindsym $mod+Shift+0 move container to workspace number 10
- # Note: workspaces can have any name you want, not just numbers.
- # We just use 1-10 as the default.
-#
-# Layout stuff:
-#
- # You can "split" the current object of your focus with
- # $mod+b or $mod+v, for horizontal and vertical splits
- # respectively.
- bindsym $mod+b splith
- bindsym $mod+v splitv
-
- # Switch the current container between different layout styles
- bindsym $mod+s layout stacking
- bindsym $mod+w layout tabbed
- bindsym $mod+e layout toggle split
-
- # Make the current focus fullscreen
- bindsym $mod+f fullscreen
-
- # Toggle the current focus between tiling and floating mode
- bindsym $mod+Shift+space floating toggle
-
- # Swap focus between the tiling area and the floating area
- bindsym $mod+space focus mode_toggle
-
- # Move focus to the parent container
- bindsym $mod+a focus parent
-#
-# Scratchpad:
-#
- # Sway has a "scratchpad", which is a bag of holding for windows.
- # You can send windows there and get them back later.
-
- # Move the currently focused window to the scratchpad
- bindsym $mod+Shift+minus move scratchpad
-
- # Show the next scratchpad window or hide the focused scratchpad window.
- # If there are multiple scratchpad windows, this command cycles through them.
- bindsym $mod+minus scratchpad show
-#
-# Resizing containers:
-#
-mode "resize" {
- # left will shrink the containers width
- # right will grow the containers width
- # up will shrink the containers height
- # down will grow the containers height
- bindsym $left resize shrink width 10px
- bindsym $down resize grow height 10px
- bindsym $up resize shrink height 10px
- bindsym $right resize grow width 10px
-
- # Ditto, with arrow keys
- bindsym Left resize shrink width 10px
- bindsym Down resize grow height 10px
- bindsym Up resize shrink height 10px
- bindsym Right resize grow width 10px
-
- # Return to default mode
- bindsym Return mode "default"
- bindsym Escape mode "default"
-}
-bindsym $mod+r mode "resize"
-#
-# Utilities:
-#
- # Special keys to adjust volume via PulseAudio
- bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
- bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
- bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
- bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
- # Special keys to adjust brightness via brightnessctl
- bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
- bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
- # Special key to take a screenshot with grim
- bindsym Print exec grim
-
-#
-# Status Bar:
-#
-# Read `man 5 sway-bar` for more information about this section.
-bar {
- position top
- # When the status_command prints a new line to stdout, swaybar updates.
- # The default just shows the current date and time.
- #status_command while date +'%Y-%m-%d %X' $HOSTNAME; do sleep 1; done
- status_command while (echo $USER@$HOSTNAME $(date +'%Y-%m-%d %X')); do sleep 1; done
- colors {
- statusline #000000
- background #ffffff
- inactive_workspace #32323200 #32323200 #5c5c5c
- }
-}
-set $opacity 0.96
-for_window [class=".*"] opacity $opacity
-for_window [app_id="foot"] opacity $opacity con_mark $HOSTNAME
-
-client.focused #000000 #ffffff #ffffff
-client.unfocused #000000 #ffffff #ffffff
-
-include /gnu/store/49nyzc50jn2svwb9i7k5739cvgaiac72-sway-1.10.1/etc/sway/config.d/*
diff --git a/vmstore/disposable/files/nonguix-signing-key.pub b/vmstore/disposable/files/nonguix-signing-key.pub
deleted file mode 100644
index 56ee811..0000000
--- a/vmstore/disposable/files/nonguix-signing-key.pub
+++ /dev/null
@@ -1,6 +0,0 @@
-(public-key
- (ecc
- (curve Ed25519)
- (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
- )
- )
diff --git a/vmstore/disposable/files/scripts/sway-login b/vmstore/disposable/files/scripts/sway-login
deleted file mode 100644
index 3792a85..0000000
--- a/vmstore/disposable/files/scripts/sway-login
+++ /dev/null
@@ -1,3 +0,0 @@
-if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
- exec sway;
-fi
diff --git a/vmstore/disposable/home.scm b/vmstore/disposable/home.scm
deleted file mode 100644
index a627839..0000000
--- a/vmstore/disposable/home.scm
+++ /dev/null
@@ -1,81 +0,0 @@
-(define-module (corpo home)
- #:use-module (gnu)
- #:use-module (gnu packages gnupg)
- #:use-module (gnu services)
- #:use-module (gnu home)
- #:use-module (gnu home services)
- #:use-module (gnu home services pm)
- #:use-module (gnu home services sound)
- #:use-module (gnu home services shells)
- #:use-module (gnu home services desktop)
- #:use-module (gnu home services gnupg)
- #:use-module (gnu home services xdg)
- #:use-module (guix gexp)
- #:export (corpo-home-environment))
-
- (use-package-modules compression gnome gnome-xyz video fonts freedesktop
- linux package-management pulseaudio
- terminals xdisorg xorg glib wm messaging)
-
- (define corpo-home-environment
- (home-environment
- (services
- (list
- (simple-service 'profile-env-vars-service
- home-environment-variables-service-type
- '(;; Sort dot files first in ls
- ("LC_COLLATE" . "C")
-
- ;; vim instead of nano
- ("VISUAL" . "vim")
- ("EDITOR" . "vim")
-
- ;; Wayland
- ("XDG_CURRENT_DESKTOP" . "sway")
- ("XDG_SESSION_TYPE" . "wayland")
- ("RTC_USE_PIPEWIRE" . "true")
- ("SDL_VIDEODRIVER" . "wayland")
- ("MOZ_ENABLE_WAYLAND" . "1")
- ("CLUTTER_BACKEND" . "wayland")
- ("ELM_ENGINE" . "wayland_egl")
- ("ECORE_EVAS_ENGINE" . "wayland-egl")
- ("QT_QPA_PLATFORM" . "wayland-egl")
-
- ;; JAVA
- ("_JAVA_AWT_WM_NONREPARENTING" . #t)
-
- ;; env-vars for Flatpak visibility
- ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share")))
-
-
- (service home-bash-service-type
- (home-bash-configuration
- (bash-profile (list (local-file "./files/scripts/sway-login")
- (plain-file "bash-profile" "flatpak -u remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo")))))
-
-
- (simple-service 'xdg-user-directories-config-service
- home-xdg-user-directories-service-type
- (home-xdg-user-directories-configuration
- (download "$HOME/Downloads")))
-
- (service home-xdg-configuration-files-service-type
- `(("sway/config" ,(local-file "./files/misc-config/sway-config"))))
-
- (service home-dbus-service-type)
- (service home-pipewire-service-type)))
-
- (packages (list xorg-server-xwayland
- sway swayidle swaylock fuzzel foot
- grimshot wl-clipboard network-manager-applet
-
- ;; XDG and Flatpak dependency
- flatpak (list glib "bin")
- xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-wlr
- xdg-utils xdg-dbus-proxy shared-mime-info
-
- ;; Audio
- alsa-utils pavucontrol
-
- ;; General
- zip unzip))))