dump
This commit is contained in:
73
README.md
73
README.md
@@ -1,43 +1,40 @@
|
||||
Clean up your package builds with garbage collection occasionally, otherwise you might see old builds and weird build issues.
|
||||
(add-before 'configure 'set-env-vars
|
||||
(lambda _
|
||||
(setenv "BOLT_CEF_DLLWRAPPER" (string-append (assoc-ref %build-inputs "chromium-embedded-framework") "/lib/libcef_dll_wrapper.a"))
|
||||
;;(putenv "CATS=NOTDOGS")
|
||||
(display (environ))
|
||||
(display "Test")
|
||||
#t))
|
||||
;; (replace 'configure (lambda _ (display (environ)) #t))
|
||||
)
|
||||
My *personal* channel where I build packages and service I use for GNU/Guix.
|
||||
|
||||
## Packages
|
||||
- **Browsers**
|
||||
- Microsoft Edge
|
||||
- Vivaldi
|
||||
- Floorp
|
||||
- **Game Launchers**
|
||||
- Bolt Launcher
|
||||
- Technically the runescape-launcher is still not functional, however, you can use a flatpak for the actual GAME binary and replace the binary bolt launcher references with a small C program that simply launches the flatpak (which I've included in this repo). I'll attempt to package runescape-launcher (which installs the game client itself) later when I get Ghidra packaged correctly.
|
||||
- Deskflow
|
||||
- Currently, many display managers lack proper xdg-desktop-portal support whether as a result of just not being updated on Guix (KDE) or in Hyprland's case the features aren't completed and aren't added. I currently have a custom package for pulling in the PR branches to make it functional.
|
||||
It does, however, work fine on Gnome.
|
||||
- **Editors**
|
||||
- Code server
|
||||
- In addition to code server I have a custom package that extends this and adds custom fonts. Not sure on how to elegantly make it modular, but it both allows you to simply install it and provides easy direction for adding your own fonts. Code server is a bit more nuanced than VS Code as it runs through your browser as far as fonts go.
|
||||
|
||||
|
||||
Back-up info
|
||||
https://guix.gnu.org/manual/en/html_node/Replicating-Guix.html
|
||||
---
|
||||
These are more experimental ones thrown together either for specific behavior or to update without waiting on upstream.
|
||||
- **Non-functional/Not added**
|
||||
- Runescape Launcher
|
||||
- PIA (Private Internet Access)
|
||||
- Ghidra
|
||||
- Nextcloud client on QT6
|
||||
- Discord
|
||||
- **Hyprland w/ Input Capture Portal**
|
||||
- xdg-desktop-portal-hyprland
|
||||
- xdg-desktop-portal
|
||||
- hyprland-protocols
|
||||
- hyprland
|
||||
- libp11
|
||||
- libportal
|
||||
|
||||
port Conky over
|
||||
## Services
|
||||
- Code server
|
||||
|
||||
Discord needs
|
||||
--no-sandbox --no-gpu --in-process-gpu ./EXECUTABLE
|
||||
https://peter.sh/experiments/chromium-command-line-switches/
|
||||
Probably unstable and we should address it
|
||||
---
|
||||
|
||||
https://guix.gnu.org/manual/en/html_node/package-Reference.html#package-Reference
|
||||
|
||||
|
||||
|
||||
|
||||
Update licenses for packages
|
||||
|
||||
|
||||
|
||||
Bolt needs to be wrapped so it has access to LD_LIBRARY_PATH
|
||||
(wrap-program)
|
||||
|
||||
|
||||
Add OS keyring so we can keep persistence
|
||||
|
||||
|
||||
|
||||
Set up as:
|
||||
git remote set-url --add --push origin https://gitea.something.something/jaggar/Guix-Personal-Packages.git
|
||||
git remote set-url --add --push origin https://codeberg.org/Gigia/Guix-Personal-Packages.git
|
||||
git remote set-url --add --push origin https://github.com/GigiaJ/Guix-Personal-Packages.git
|
||||
Credits to [Look](https://codeberg.org/look/saayix) for such a clear repo layout.
|
||||
@@ -56,8 +56,7 @@
|
||||
(lambda _
|
||||
(let ((font-package "font-nerd-fonts-jetbrains-mono")
|
||||
(font-path "/share/fonts/truetype/")
|
||||
(font-prefix "JetBrainsMonoNerdFontMono-")
|
||||
)
|
||||
(font-prefix "JetBrainsMonoNerdFontMono-"))
|
||||
(use-modules (ice-9 ftw)
|
||||
(srfi srfi-1)) ; For list processing
|
||||
(define (collect-files-with-prefix directory prefix)
|
||||
|
||||
@@ -64,6 +64,6 @@
|
||||
(synopsis "Soup")
|
||||
(home-page "https://dev47apps.com/obs/")
|
||||
(description "plugin for droidcam obs")
|
||||
(license license:agpl3)))
|
||||
(license (license:gpl2))))
|
||||
|
||||
obs-droidcam
|
||||
@@ -223,7 +223,6 @@
|
||||
(ld.so.conf->ld.so.cache steam-nvidia-ld.so.conf))
|
||||
|
||||
|
||||
|
||||
(define-public runescape-container
|
||||
(nonguix-container
|
||||
(name "runescape")
|
||||
|
||||
176
modules/gunit/packages/bolt-launcher.scm
Normal file
176
modules/gunit/packages/bolt-launcher.scm
Normal file
@@ -0,0 +1,176 @@
|
||||
(define-module (gunit packages bolt-launcher)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages astronomy)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages chromium)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages geo)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages gps)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages javascript)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build gnu-build-system)
|
||||
#:use-module (guix base16)
|
||||
#:use-module (nongnu packages chromium)
|
||||
#:use-module (nongnu packages editors)
|
||||
)
|
||||
|
||||
(define-public bolt-launcher
|
||||
(package
|
||||
(name "bolt-launcher")
|
||||
(version "0.11.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Adamcake/Bolt")
|
||||
(commit "1720eb0758221d9cd79abddf613d7335ed05e032")
|
||||
(recursive? #t)))
|
||||
|
||||
(sha256
|
||||
(base32 "075dbjsy4nkbsnd1w57l85gpqk9sg2q75gp07xykl5g3j0qgwhcx"))))
|
||||
(build-system cmake-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
chromium-embedded-framework eudev libarchive glib glibc gtk xdg-utils hicolor-icon-theme nss fmt spng mesa vulkan-loader vscodium wayland))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Can probably clean this up
|
||||
(string-append "-D " "CMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "out"))
|
||||
;;(string-append "-D " "BOLT_DEV_SHOW_DEVTOOLS=" "1")
|
||||
(string-append "-DBOLT_BINDIR=" "./bin")
|
||||
(string-append "-DBOLT_SHAREDIR=" "./share")
|
||||
(string-append "-DBOLT_LIBDIR=" "./lib")
|
||||
(string-append "-DCEF_DIR=" (assoc-ref %build-inputs "chromium-embedded-framework"))
|
||||
(string-append "-DCEF_ROOT=" (assoc-ref %build-inputs "chromium-embedded-framework"))
|
||||
(string-append "-DBOLT_CEF_RESOURCEDIR_OVERRIDE=" (assoc-ref %build-inputs "chromium-embedded-framework") "/share/cef")
|
||||
(string-append "-DBOLT_LIBCEF_DIRECTORY=" (assoc-ref %build-inputs "chromium-embedded-framework") "/lib")
|
||||
(string-append "-DBOLT_CEF_INCLUDEPATH=" (assoc-ref %build-inputs "chromium-embedded-framework"))
|
||||
(string-append "-DBOLT_CEF_DLLWRAPPER=" (assoc-ref %build-inputs "chromium-embedded-framework") "/lib/libcef_dll_wrapper.a")
|
||||
"-D BOLT_META_NAME=bolt-launcher"
|
||||
"-D BOLT_SKIP_LIBRARIES=1")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'link-cef
|
||||
(lambda _
|
||||
(map (lambda (entry)
|
||||
(let* ((source (car entry)) (file (cdr entry)))
|
||||
(symlink (string-append (assoc-ref %build-inputs source) file)
|
||||
(string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/" (basename file)))))
|
||||
(append
|
||||
(map (lambda (file) (cons "chromium-embedded-framework" file))
|
||||
'("/lib/libcef.so" "/share/cef/icudtl.dat" "/share/cef/v8_context_snapshot.bin"))
|
||||
(map (lambda (file) (cons "vscodium" file))
|
||||
'("/opt/vscodium/libGLESv2.so" "/opt/vscodium/libEGL.so"
|
||||
"/opt/vscodium/libvulkan.so.1" "/opt/vscodium/libvk_swiftshader.so"))))
|
||||
|
||||
(wrap-program (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/bolt")
|
||||
`("LD_LIBRARY_PATH" ":" prefix (
|
||||
,(string-append #$(this-package-input "mesa") "/lib")
|
||||
,(string-append #$(this-package-input "eudev") "/lib")
|
||||
,(string-append #$(this-package-input "nss") "/lib/nss")))
|
||||
`("XDG_DATA_DIRS" ":" prefix (
|
||||
,(string-append #$(this-package-input "gtk") "/share")))
|
||||
`("PATH" ":" prefix (
|
||||
,(string-append #$(this-package-input "xdg-utils") "/bin"))))
|
||||
(invoke "mv" (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/bolt") (string-append (assoc-ref %outputs "out") "/bin/bolt"))
|
||||
#t)))))
|
||||
(native-inputs (list cmake git wayland))
|
||||
(synopsis "An alternative third-party open-source launcher for RuneScape or Old School RuneScape.")
|
||||
(home-page "https://bolt.adamcake.com/")
|
||||
(description "Free open-source third-party implementation of the Jagex Launcher.")
|
||||
(license license:agpl3)))
|
||||
75
modules/gunit/packages/browsers.scm
Normal file
75
modules/gunit/packages/browsers.scm
Normal file
@@ -0,0 +1,75 @@
|
||||
(define-module (gunit packages browsers)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build copy-build-system)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hunspell)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages speech)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (nonguix licenses)
|
||||
#:use-module (ice-9 string-fun))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
56
modules/gunit/packages/code-server.scm
Normal file
56
modules/gunit/packages/code-server.scm
Normal file
@@ -0,0 +1,56 @@
|
||||
(define-module (gunit packages code-server)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (selected-guix-works packages fonts)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build copy-build-system))
|
||||
|
||||
|
||||
(define-public code-server
|
||||
(package
|
||||
(name "code-server")
|
||||
(version "4.102.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/coder/code-server/releases/download/v" version "/code-server-" version "-linux-amd64.tar.gz"))
|
||||
(sha256
|
||||
(base32 "1s33d8821hcpkv10643dc58m177nrsy4238fyx2qbkh3smx98p25"))))
|
||||
(build-system copy-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
gcc-toolchain
|
||||
glibc
|
||||
))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'patch-interpreter
|
||||
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(interpreter (string-append (assoc-ref inputs "glibc")
|
||||
"/lib/ld-linux-x86-64.so.2"))
|
||||
(binary (string-append out "/lib/node")))
|
||||
(invoke "patchelf" "--set-interpreter" interpreter binary))))
|
||||
(add-after 'patch-interpreter 'wrap
|
||||
(lambda _
|
||||
(wrap-program (string-append (assoc-ref %outputs "out") "/lib/node")
|
||||
`("LD_LIBRARY_PATH" ":" prefix (,(string-append #$(this-package-input "gcc-toolchain") "/lib"))))))
|
||||
(delete 'validate-runpath))))
|
||||
(native-inputs
|
||||
(list git curl patchelf))
|
||||
(synopsis "Code server used for accessing VS Code in the browser.")
|
||||
(home-page "https://coder.com/")
|
||||
(description "Free open source code server. Use a VS Code in any browser wherever you are.")
|
||||
(license license:mit)))
|
||||
69
modules/gunit/packages/custom-code-server.scm
Normal file
69
modules/gunit/packages/custom-code-server.scm
Normal file
@@ -0,0 +1,69 @@
|
||||
(define-module (gunit packages custom-code-server)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu) ; For modify-phases
|
||||
#:use-module (ice-9 ftw) ; For scandir
|
||||
#:use-module (srfi srfi-1) ; For list processing
|
||||
|
||||
#:use-module (gunit packages code-server)
|
||||
#:use-module (selected-guix-works packages fonts)
|
||||
#:use-module (gnu packages fontutils))
|
||||
|
||||
(define-public code-server-with-fonts
|
||||
(package/inherit code-server
|
||||
(name "code-server-with-fonts")
|
||||
|
||||
;; Add the font package to the regular inputs
|
||||
(inputs (append (package-inputs code-server)
|
||||
(list font-nerd-fonts-jetbrains-mono)))
|
||||
|
||||
;; Add the woff tools to the native inputs (for building)
|
||||
(native-inputs (append (package-native-inputs code-server)
|
||||
(list woff-tools)))
|
||||
|
||||
(arguments
|
||||
#~(modify-phases #$@(package-arguments code-server)
|
||||
(add-after 'wrap 'enable-font-magic
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((font-pkg-name "font-nerd-fonts-jetbrains-mono")
|
||||
(font-package (assoc-ref inputs font-pkg-name))
|
||||
(font-path (string-append font-package "/share/fonts/truetype/"))
|
||||
(font-prefix "JetBrainsMonoNerdFontMono-")
|
||||
(out (assoc-ref outputs "out"))
|
||||
(pages-dir (string-append out "/lib/vscode/out/vs/code/browser/pages/"))
|
||||
(workbench-html (string-append out "/lib/vscode/out/vs/code/browser/workbench/workbench.html")))
|
||||
|
||||
;; Helper to find all the font files in the font package
|
||||
(define (collect-font-files)
|
||||
(map (lambda (file)
|
||||
(cons font-pkg-name file))
|
||||
(filter (lambda (str) (string-prefix? font-prefix str))
|
||||
(scandir-files font-path))))
|
||||
|
||||
(let ((font-files-to-process (collect-font-files)))
|
||||
;; Create symlinks and convert fonts to woff format
|
||||
(for-each
|
||||
(lambda (font-entry)
|
||||
(let* ((source-file-name (cdr font-entry))
|
||||
(source-path (string-append font-path source-file-name))
|
||||
(dest-path (string-append pages-dir source-file-name)))
|
||||
(symlink source-path dest-path)
|
||||
(invoke "sfnt2woff" dest-path)))
|
||||
font-files-to-process)
|
||||
|
||||
;; Generate the CSS @font-face rule
|
||||
(let ((font-face-urls
|
||||
(string-join
|
||||
(map (lambda (font-entry)
|
||||
(let ((woff-file (string-append (basename (cdr font-entry) ".ttf") ".woff")))
|
||||
(string-append "url('_static/src/browser/pages/" woff-file "') format('woff')")))
|
||||
font-files-to-process)
|
||||
", ")))
|
||||
|
||||
;; Inject the CSS into the workbench HTML file
|
||||
(substitute* workbench-html
|
||||
(("</head>")
|
||||
(string-append "<style> @font-face {font-family: 'Personal'; font-style: normal; src: "
|
||||
font-face-urls
|
||||
";} </style></head>"))))))))))))
|
||||
@@ -159,5 +159,3 @@
|
||||
|
||||
(define-public microsoft-edge-beta
|
||||
(make-microsoft-edge "beta" "138.0.3351.42" "0d4m38xbnpbb98y5xz9h5rzzcfshl01c2l3f794jg6al20yc2jj7"))
|
||||
|
||||
microsoft-edge-stable
|
||||
@@ -176,8 +176,8 @@
|
||||
(Name . "Floorp")
|
||||
(GenericName . "Web Browser")
|
||||
(Comment . "Your web, the way you like it")
|
||||
(Exec . ,exec-path) ;; Precomputed value
|
||||
(Icon . ,icon-path) ;; Precomputed value
|
||||
(Exec . ,exec-path)
|
||||
(Icon . ,icon-path)
|
||||
(Terminal . false)
|
||||
(Type . "Application")
|
||||
(StartupWMClass . "Floorp")
|
||||
@@ -230,16 +230,15 @@
|
||||
`("MOZ_LEGACY_PROFILES" = ("1"))
|
||||
`("MOZ_ALLOW_DOWNGRADE" = ("1")))
|
||||
)
|
||||
|
||||
|
||||
(invoke "mv" (string-append #$output "/lib/floorp/floorp") (string-append #$output "/bin/floorp"))
|
||||
))
|
||||
)))
|
||||
(invoke "mv" (string-append #$output "/lib/floorp/floorp") (string-append #$output "/bin/floorp")))))))
|
||||
(native-inputs
|
||||
(list git patchelf))
|
||||
(synopsis "Soup")
|
||||
(home-page "https://coder.com/")
|
||||
(description "Free open source code server")
|
||||
(license license:agpl3)))
|
||||
|
||||
floorp
|
||||
(synopsis "A highly customizable Firefox-based (Gecko) browser")
|
||||
(home-page "https://floorp.app/")
|
||||
(description "Floorp is the first Firefox-based browser to enable UI customization, designed so that anyone can easily
|
||||
adjust their browsing experience to their preferences and access the web with ease.")
|
||||
(license
|
||||
(name "floorp-shared-source")
|
||||
(uri "https://github.com/Floorp-Projects/Floorp-private-components/blob/main/LICENSE")
|
||||
(comment "Floorp Shared Source License: non-commercial use only, modification allowed, no sublicensing, attribution required."))))
|
||||
82
modules/gunit/packages/linux.scm
Normal file
82
modules/gunit/packages/linux.scm
Normal file
@@ -0,0 +1,82 @@
|
||||
(define-module (guint packages linux)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (nongnu packages linux))
|
||||
|
||||
(define-public linux-t2-patches
|
||||
(package
|
||||
(name "linux-t2-patches")
|
||||
(version "6.12")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/t2linux/linux-t2-patches.git")
|
||||
(commit "54606b8797c539da9782dcbb16456fdf92d74f12")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ig7373xl5vqfpblh0sh4z8vgks4hq761j58lyns5cw2n648xl61"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Disable the 'check' phase
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure (lambda _ #t))
|
||||
(replace 'build (lambda _ #t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p out)
|
||||
(copy-recursively "." out))
|
||||
#t)))))
|
||||
|
||||
(synopsis "Patch set for running Linux on T2-based Macs")
|
||||
(description "This package provides a set of patches from the t2linux project
|
||||
to enable support for the Apple T2 security chip and related hardware.")
|
||||
(home-page "https://github.com/t2linux/linux-t2-patches")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define (mbp-t2-extra-options)
|
||||
'(("CONFIG_SPI_APPLE" . y)
|
||||
("CONFIG_APPLE_BCE" . y)
|
||||
("CONFIG_APPLE_DCP" . y)
|
||||
("CONFIG_PINCTRL_APPLE_GPIO" . y)))
|
||||
|
||||
(define-public linux-kernel-mbp-t2
|
||||
(package
|
||||
(inherit linux-6.12)
|
||||
(name "linux-kernel-mbp-t2")
|
||||
(synopsis "Linux kernel for Macs with the T2 chip")
|
||||
(description "This package provides a Linux kernel with patches applied to support hardware found in Apple T2-based MacBooks.")
|
||||
(license license:gpl2+)
|
||||
|
||||
(native-inputs
|
||||
(append (package-native-inputs linux-6.12)
|
||||
`(("t2-patches" ,linux-t2-patches))))
|
||||
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments linux-6.12)
|
||||
((#:native-inputs native-inputs)
|
||||
#~(cons* (list "t2-patches" ,linux-t2-patches)
|
||||
#$native-inputs))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-t2-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(use-modules (guix build utils))
|
||||
(let ((patch-dir (assoc-ref inputs "t2-patches")))
|
||||
(let ((patch-files (find-files patch-dir "\\.patch$")))
|
||||
(format #t "Applying ~a T2 patches...~%" (length patch-files))
|
||||
(for-each
|
||||
(lambda (patch)
|
||||
(invoke "patch" "-p1" "-i" patch))
|
||||
(sort patch-files string<))
|
||||
#t))))))
|
||||
((#:kernel-config config)
|
||||
#~(kernel-config-union #$config
|
||||
(kernel-config #:configs (mbp-t2-extra-options))))))))
|
||||
61
modules/gunit/packages/obs-plugins.scm
Normal file
61
modules/gunit/packages/obs-plugins.scm
Normal file
@@ -0,0 +1,61 @@
|
||||
(define-module (guint packages obs-plugins)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public obs-droidcam
|
||||
(package
|
||||
(name "obs-droidcam")
|
||||
(version "2.3.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dev47apps/droidcam-obs-plugin")
|
||||
(commit version)
|
||||
(recursive? #t)))
|
||||
(sha256
|
||||
(base32 "0q4nbfd7xly44psmv2hb3bimcx5mp20vw8z10dqsvrsasy2hnqr9"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
obs libusbmuxd libjpeg-turbo libimobiledevice ffmpeg))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
#~(list
|
||||
(string-append "LIBUSBMUXD=" "libusbmuxd-2.0") ;;(assoc-ref %outputs "out")
|
||||
(string-append "LIBIMOBILEDEV=" "libimobiledevice-1.0")
|
||||
(string-append "LIBOBS_INCLUDES=" #$(this-package-input "obs") "/include/obs")
|
||||
(string-append "FFMPEG_INCLUDES=" #$(this-package-input "ffmpeg") "/include")
|
||||
(string-append "ALLOWSTATIC=" "no"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'configure-directory
|
||||
(lambda _
|
||||
(mkdir-p "build")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(mkdir-p (string-append (assoc-ref %outputs "out") "/lib/obs-plugins"))
|
||||
(mkdir-p (string-append (assoc-ref %outputs "out") "/share/obs/obs-plugins"))
|
||||
(invoke "cp" "./build/droidcam-obs.so" (string-append (assoc-ref %outputs "out") "/lib/obs-plugins/droidcam-obs.so"))
|
||||
(invoke "cp" "-r" "./data/locale" (string-append (assoc-ref %outputs "out") "/share/obs/obs-plugins/droidcam-obs")) #t)))))
|
||||
|
||||
(native-inputs
|
||||
(list git pkg-config))
|
||||
(synopsis "Droidcam OBS plugin")
|
||||
(home-page "https://dev47apps.com/obs/")
|
||||
(description "A plugin for OBS to enable droidcam which allows you to use your phone as a webcam (and even a mic). Supports iOS and Android.")
|
||||
(license license:gpl2)))
|
||||
31
modules/gunit/packages/patches/add-font-to-code-server.scm
Normal file
31
modules/gunit/packages/patches/add-font-to-code-server.scm
Normal file
@@ -0,0 +1,31 @@
|
||||
;; woff-tools
|
||||
;; font-nerd-fonts-jetbrains-mono
|
||||
|
||||
(add-after 'wrap 'enable-font-magic
|
||||
(lambda _
|
||||
(let ((font-package "font-nerd-fonts-jetbrains-mono")
|
||||
(font-path "/share/fonts/truetype/")
|
||||
(font-prefix "JetBrainsMonoNerdFontMono-"))
|
||||
(use-modules (ice-9 ftw)
|
||||
(srfi srfi-1)) ; For list processing
|
||||
(define (collect-files-with-prefix directory prefix)
|
||||
(filter (lambda (str) (string-prefix? prefix str)) (cddr (scandir directory))))
|
||||
(map (lambda (entry)
|
||||
(let* ((source (car entry)) (file (cdr entry)))
|
||||
(symlink (string-append (assoc-ref %build-inputs source) font-path file)
|
||||
(string-append (assoc-ref %outputs "out") "/src/browser/pages/" (basename file)))
|
||||
(system* "sfnt2woff" (string-append (assoc-ref %outputs "out") "/src/browser/pages/" (basename file)))
|
||||
))
|
||||
(append
|
||||
(map (lambda (file) (cons font-package file))
|
||||
(collect-files-with-prefix (string-append (assoc-ref %build-inputs font-package) font-path) font-prefix)
|
||||
)))
|
||||
(let ((font-files (string-join
|
||||
(map
|
||||
(lambda (x)
|
||||
(string-append "url('_static/src/browser/pages/" (substring x 0 (- (string-length x) 4)) ".woff') format('woff')" ))
|
||||
(collect-files-with-prefix (string-append (assoc-ref %build-inputs font-package) font-path) font-prefix))
|
||||
","
|
||||
)))
|
||||
(system* "sed" "-i" (string-append "s|</head>|<style> @font-face {font-family: 'Personal';font-style: normal;src:" font-files ";}\\</style></head>|g") (string-append #$output "/lib/vscode/out/vs/code/browser/workbench/workbench.html"))
|
||||
))))
|
||||
245
modules/gunit/packages/runescape-launcher.scm
Normal file
245
modules/gunit/packages/runescape-launcher.scm
Normal file
@@ -0,0 +1,245 @@
|
||||
(define-module (gunit packages runescape-launcher)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module ((nonguix licenses) #:prefix license:)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages certs)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages debian)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libbsd)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (nongnu packages nvidia)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (nonguix multiarch-container)
|
||||
#:use-module (nonguix utils))
|
||||
|
||||
|
||||
(define runescape-launcher
|
||||
(package
|
||||
(name "runescape-launcher")
|
||||
(version "2.2.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://content.runescape.com/downloads/ubuntu/pool/non-free/r/" name "/" name "_" version "_amd64.deb"))
|
||||
|
||||
(sha256
|
||||
(base32 "00krw818s15bc38v9qv4ggk32704czjlw9c7vggg3vxxdhxvvscq"))))
|
||||
(build-system copy-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
cairo gcc glib glibc gtk libcap libglvnd libsm libx11 libxxf86vm openssl pango sdl2 zlib))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(invoke "dpkg-deb" "-x" source ".")
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(delete `build)
|
||||
(add-before 'install 'patch-elf-interpreter
|
||||
(lambda _
|
||||
(display (invoke "ls" "-a" "./usr/share/games/runescape-launcher"))
|
||||
;;(invoke "setcap" "cap_net_raw+ep" "./usr/share/games/runescape-launcher/runescape")
|
||||
(substitute* "./usr/bin/runescape-launcher"
|
||||
(("unset XMODIFIERS") (string-append "$envVarsWithXmodifiers"))
|
||||
(("/usr/share/games/runescape-launcher/runescape")
|
||||
(string-append (assoc-ref %outputs "out") "/usr/share/games/runescape-launcher/runescape")))
|
||||
(display "catssss")
|
||||
|
||||
(let ((glibc (assoc-ref %build-inputs "glibc"))
|
||||
(elf-file "./usr/share/games/runescape-launcher/runescape"))
|
||||
(invoke "patchelf" "--set-interpreter" (string-append glibc "/lib/ld-linux-x86-64.so.2") elf-file))
|
||||
#t))
|
||||
;; (delete 'install)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(native-inputs
|
||||
(list unzip dpkg patchelf iputils))
|
||||
(synopsis "A client for RuneScape")
|
||||
(home-page "https://www.runescape.com/")
|
||||
(description "RuneScape Game Client (NXT)")
|
||||
(license
|
||||
(name "runescape-launcher-proprietary")
|
||||
(uri "https://www.jagex.com/en-GB/terms")
|
||||
(comment "Launcher that downloads the proprietary RuneScape client from Jagex. Not redistributable."))))
|
||||
|
||||
(define steam-client-libs
|
||||
`(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface.
|
||||
("bash" ,bash) ; Required for steam startup.
|
||||
("cairo", cairo)
|
||||
("coreutils" ,coreutils)
|
||||
("diffutils" ,diffutils)
|
||||
("dbus-glib" ,dbus-glib) ; Required for steam browser.
|
||||
("elfutils" ,elfutils) ; Required for capturing library dependencies in pv.
|
||||
("eudev" ,eudev) ; Required for steamwebhelper/heavy runtime.
|
||||
("expat" ,expat) ; Needed for RS3
|
||||
("fontconfig" ,fontconfig) ; Required for steam client.
|
||||
("file" ,file) ; Used for steam installation.
|
||||
("find" ,findutils) ; Required at least for some logging.
|
||||
("fmt" ,fmt) ; Needed for RS3
|
||||
("font-google-noto" ,font-google-noto) ; Not required but to match following fonts.
|
||||
;; These next three fonts are to cover emoji and Chinese/Japanese/Korean
|
||||
;; and related scripts.
|
||||
("font-google-noto-emoji" ,font-google-noto-emoji)
|
||||
("font-google-noto-sans-cjk" ,font-google-noto-sans-cjk)
|
||||
("font-google-noto-serif-cjk" ,font-google-noto-serif-cjk)
|
||||
("freetype" ,freetype) ; Required for steam login.
|
||||
("gawk" ,gawk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon.
|
||||
;; Required for steam startup; use newer version for better compatibility
|
||||
;; with some games like Dwarf Fortress.
|
||||
("gcc:lib" ,gcc-14 "lib")
|
||||
("glib" ,glib)
|
||||
("glibc" ,glibc)
|
||||
("grep" ,grep)
|
||||
("gtk+" ,gtk+)
|
||||
("gtk" ,gtk+-2)
|
||||
("libbsd" ,libbsd)
|
||||
("libcap" ,libcap) ; Required for SteamVR, but needs pkexec too.
|
||||
("libdrm" ,libdrm) ; Needed for RS3
|
||||
("libglvnd" ,libglvnd)
|
||||
("libusb" ,libusb) ; Required for SteamVR.
|
||||
("libsm" ,libsm)
|
||||
("libxcb" ,libxcb) ; Needed for RS3
|
||||
("libxcomposite" ,libxcomposite) ; Needed for RS3
|
||||
("libxext" ,libxext) ; Needed for RS3
|
||||
("libxkbcommon" ,libxkbcommon) ; Needed for RS3
|
||||
("libva" ,libva) ; Required for hardware video encoding/decoding.
|
||||
("libvdpau" ,libvdpau) ; Required for hardware video encoding/decoding.
|
||||
("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support.
|
||||
("libx11" ,libx11)
|
||||
("libxdamage" ,libxdamage) ; Needed for RS3
|
||||
("libxfixes" ,libxfixes) ; Needed for RS3
|
||||
("libxxf86vm" ,libxxf86vm)
|
||||
("llvm" ,llvm-for-mesa) ; Required for mesa.
|
||||
("lsof" ,lsof) ; Required for some friend's list actions.
|
||||
("mesa" ,mesa) ; Required for steam startup.
|
||||
("nspr" ,nspr) ; Required for RS3
|
||||
("nss-certs" ,nss-certs) ; Required for steam login.
|
||||
("nss" ,nss) ; Needed for RS3
|
||||
("pango" ,pango)
|
||||
("pciutils" ,pciutils) ; Tries to run lspci at steam startup.
|
||||
("procps" ,procps)
|
||||
("openssl" ,openssl-1.1)
|
||||
("sed" ,sed)
|
||||
("sdl2" ,sdl2)
|
||||
("tar" ,tar)
|
||||
("usbutils" ,usbutils) ; Required for SteamVR.
|
||||
("util-linux" ,util-linux) ; Required for steam login.
|
||||
("wayland" ,wayland) ; Required for mesa vulkan (e.g. libvulkan_radeon).
|
||||
("xdg-user-dirs" ,xdg-user-dirs) ; Suppress warning of missing xdg-user-dir.
|
||||
("flatpak-xdg-utils" ,flatpak-xdg-utils)
|
||||
("xz" ,xz)
|
||||
("zenity" ,zenity)
|
||||
("zlib" ,zlib)
|
||||
)) ; Required for progress dialogs.
|
||||
|
||||
(define steam-gameruntime-libs
|
||||
`(("alsa-lib" ,alsa-lib) ; Required for audio in most games.
|
||||
("alsa-plugins:pulseaudio" ,alsa-plugins "pulseaudio") ; Required for audio in most games.
|
||||
("font-dejavu" ,font-dejavu)
|
||||
("font-liberation" ,font-liberation)
|
||||
("imgui" ,imgui-1.86) ; Required for MangoHud.
|
||||
("mangohud" ,mangohud)
|
||||
("openal" ,openal) ; Prevents corrupt audio in Crypt of the Necrodancer.
|
||||
("pulseaudio" ,pulseaudio) ; Prevents corrupt audio in Sven Coop.
|
||||
("python" ,python) ; Required for KillingFloor2 and Wreckfest.
|
||||
("spdlog" ,spdlog))) ; Required for MangoHud.
|
||||
|
||||
(define steam-container-libs
|
||||
(append steam-client-libs
|
||||
steam-gameruntime-libs
|
||||
fhs-min-libs))
|
||||
|
||||
(define steam-nvidia-container-libs
|
||||
(modify-inputs steam-container-libs
|
||||
(replace "mesa" nvda)))
|
||||
|
||||
(define steam-ld.so.conf
|
||||
(packages->ld.so.conf
|
||||
(list (fhs-union steam-container-libs
|
||||
#:name "fhs-union-64")
|
||||
(fhs-union steam-container-libs
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))))
|
||||
|
||||
(define steam-ld.so.cache
|
||||
(ld.so.conf->ld.so.cache steam-ld.so.conf))
|
||||
|
||||
(define steam-nvidia-ld.so.conf
|
||||
(packages->ld.so.conf
|
||||
(list (fhs-union steam-nvidia-container-libs
|
||||
#:name "fhs-union-64")
|
||||
(fhs-union steam-nvidia-container-libs
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))))
|
||||
|
||||
(define steam-nvidia-ld.so.cache
|
||||
(ld.so.conf->ld.so.cache steam-nvidia-ld.so.conf))
|
||||
|
||||
|
||||
(define-public runescape-container
|
||||
(nonguix-container
|
||||
(name "runescape")
|
||||
(wrap-package runescape-launcher)
|
||||
(run "/usr/bin/runescape-launcher")
|
||||
(ld.so.conf steam-ld.so.conf)
|
||||
(ld.so.cache steam-ld.so.cache)
|
||||
(union64
|
||||
(fhs-union steam-container-libs
|
||||
#:name "fhs-union-64"))
|
||||
(union32
|
||||
(fhs-union steam-container-libs
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))
|
||||
(link-files '("usr"))
|
||||
(description "Runescape.")))
|
||||
|
||||
(define-public runescape (nonguix-container->package runescape-container))
|
||||
@@ -114,9 +114,7 @@
|
||||
(symlink chromium-target exe)
|
||||
(wrap-program exe
|
||||
'("CHROME_WRAPPER" = (#$appname))
|
||||
))))
|
||||
|
||||
)))
|
||||
)))))))
|
||||
(inputs
|
||||
(list bzip2
|
||||
curl
|
||||
41
modules/gunit/services/code-server.scm
Normal file
41
modules/gunit/services/code-server.scm
Normal file
@@ -0,0 +1,41 @@
|
||||
;; ~/.config/guix/services/code-server.scm
|
||||
|
||||
(define-module (services code-server)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services home)
|
||||
#:use-module (shepherd support)
|
||||
#:export (home-code-server-service-type))
|
||||
|
||||
(define (code-server-service config)
|
||||
;; This procedure defines a Shepherd service to run and manage code-server,
|
||||
;; which provides a web-based instance of VS Code. The service ensures
|
||||
;; code-server starts automatically and restarts if it crashes.
|
||||
(list
|
||||
(shepherd-service
|
||||
(documentation "Run the code-server backend.")
|
||||
(provision '(code-server)) ;; Ensure the code-server package is available.
|
||||
(modules '((shepherd support)))
|
||||
|
||||
;; Start the service by directly executing the binary from its package path.
|
||||
;; All output is redirected to a dedicated log file in the user's home directory.
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append (specification->package "code-server") "/bin/code-server"))
|
||||
#:log-file (string-append %user-log-dir "/code-server.log")))
|
||||
|
||||
;; To stop the service, simply send a kill signal to the process.
|
||||
(stop #~(make-kill-destructor))
|
||||
|
||||
;; Automatically respawn the service if it terminates unexpectedly.
|
||||
(respawn? #t))))
|
||||
|
||||
(define code-server-service-type
|
||||
(service-type
|
||||
(name 'code-server)
|
||||
;; This links our custom 'code-server-service' implementation to the main user Shepherd service.
|
||||
(extensions (list (service-extension home-shepherd-service-type code-server-service)))
|
||||
;; The #t default value means the service will be active unless explicitly disabled.
|
||||
(default-value #t)
|
||||
(description "A user service to run a VS Code instance in the browser.")))
|
||||
Reference in New Issue
Block a user