From 3a847f81783589a2266dbbebffcfec3a86264cdb Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Wed, 13 Mar 2024 22:29:26 +0100 Subject: Update guix system. --- .config/guix/manifests/desktop.scm | 8 +- .config/guix/manifests/emacs.scm | 184 +++++++++++++++++++++++++------------ .gitignore | 2 + guix/jd/desktops/base.scm | 144 ++++++++++++++++------------- 4 files changed, 216 insertions(+), 122 deletions(-) diff --git a/.config/guix/manifests/desktop.scm b/.config/guix/manifests/desktop.scm index 33f4eaf..8b8ca1f 100644 --- a/.config/guix/manifests/desktop.scm +++ b/.config/guix/manifests/desktop.scm @@ -1,5 +1,7 @@ (specifications->manifest '("qutebrowser" + "ungoogled-chromium" + "firefox" "tor-client" "pulsemixer" @@ -18,6 +20,7 @@ "xdg-utils" "xdg-dbus-proxy" + "xdg-desktop-portal-gtk" "glib:bin" "gtk+:bin" "gnome-keyring" @@ -49,6 +52,7 @@ "unzip" "qrencode" "trash-cli" + "pandoc" "password-store" "pinentry" @@ -61,5 +65,7 @@ "xss-lock" "libinput" "xinput" - + + "nheko" + "quassel" )) diff --git a/.config/guix/manifests/emacs.scm b/.config/guix/manifests/emacs.scm index fb6468b..db809eb 100644 --- a/.config/guix/manifests/emacs.scm +++ b/.config/guix/manifests/emacs.scm @@ -1,60 +1,126 @@ ;; This file is auto-generated by Emacs function: jd/manifest-generate-to-file -(specifications->manifest -'("emacs-ytdl" - "emacs-desktop-environment" - "emacs-exwm" - "emacs-perspective" - "emacs-mu4e-alert" - "mu" - "isync" - "emacs-htmlize" - "emacs-bluetooth" - "emacs-password-store" - "emacs-mastodon" - "emacs-elfeed" - "emacs-pdf-tools" - "emacs-emms" - "emacs-all-the-icons-dired" - "emacs-vterm" - "emacs-restclient" - "emacs-magit" - "emacs-neotree" - "emacs-projectile" - "emacs-company-box" - "emacs-company" - "emacs-docker" - "emacs-yaml-mode" - "emacs-web-mode" - "emacs-flycheck" - "emacs-tide" - "emacs-cider" - "emacs-typescript-mode" - "emacs-pyvenv" - "emacs-geiser-guile" - "emacs-racket-mode" - "emacs-geiser-racket" - "emacs-geiser" - "emacs-sly" - "emacs-rainbow-delimiters" - "emacs-paredit" - "emacs-lsp-ivy" - "emacs-lsp-mode" - "emacs-org-roam" - "emacs-org-superstar" - "emacs-org" - "emacs-beacon" - "emacs-all-the-icons" - "emacs-which-key" - "emacs-counsel" - "emacs-ivy" - "emacs-hl-todo" - "emacs-diminish" - "emacs-solarized-theme" - "font-terminus" - "emacs-undo-tree" - "emacs-hydra" - "emacs-general" - "emacs-guix" - "emacs" - "emacs-use-package" -)) +(use-modules (gnu packages emacs-xyz) + (gnu packages) + (guix packages) + (guix git-download) + (guix build-system emacs) + ((guix licenses) #:prefix license:)) + + +(define-public emacs-org-roam-ui + (let ((commit "9474a254390b1e42488a1801fed5826b32a8030b") + (revision "0")) + (package + (name "emacs-org-roam-ui") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/org-roam/org-roam-ui") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v54vxh95izch74wz2dl2dkdqicbvshra55l6qvd4xl5qmfhpjdc")))) + (build-system emacs-build-system) + (arguments + `(#:include (cons "^out" %default-include))) + (propagated-inputs + (list emacs-org-roam emacs-websocket emacs-simple-httpd emacs-f)) + (home-page "https://github.com/org-roam/org-roam-ui") + (synopsis "A graphical frontend for your org-roam Zettelkasten") + (description " Org-Roam-UI is a frontend for exploring and interacting +with your @code{org-roam} notes. It is meant a successor of +@code{org-roam-server} that extends functionality of org-roam with a Web app +that runs side-by-side with Emacs.") + (license license:gpl3+)))) + + + +(define emacs-lsp-mode--new + (let ((commit "808c4d0ab9f19bb92c56716cf59df89432b63f5d") + (revision "1")) + (package + (inherit emacs-lsp-mode) + (name "emacs-lsp-mode") + (version (git-version "8.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-lsp/lsp-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ridjhzndwjj8947vabq05njgnns74hi69x77axgcbv1c4nasz2y"))))))) + + +(define emacs-packages + (specifications->manifest + '("emacs-ytdl" + "emacs-desktop-environment" + "emacs-exwm" + "emacs-perspective" + "emacs-mu4e-alert" + "mu" + "isync" + "emacs-htmlize" + "emacs-bluetooth" + "emacs-nov-el" + "emacs-password-store" + "emacs-mastodon" + "emacs-elfeed" + "emacs-pdf-tools" + "emacs-emms" + "emacs-all-the-icons-dired" + "emacs-vterm" + "emacs-restclient" + "emacs-magit" + "emacs-neotree" + "emacs-projectile" + "emacs-company-box" + "emacs-company" + "emacs-docker" + "emacs-yaml-mode" + "emacs-web-mode" + "emacs-flycheck" + "emacs-tide" + "emacs-cider" + "emacs-typescript-mode" + "emacs-pyvenv" + "emacs-geiser-guile" + "emacs-racket-mode" + "emacs-geiser-racket" + "emacs-geiser" + "emacs-sly" + "emacs-rainbow-delimiters" + "emacs-paredit" + ;; "emacs-lsp-ivy" + ;; "emacs-lsp-mode" + "emacs-org-roam" + "emacs-org-roam-bibtex" + "emacs-org-superstar" + "emacs-org" + "emacs-ox-pandoc" + "emacs-beacon" + "emacs-all-the-icons" + "emacs-which-key" + "emacs-counsel" + "emacs-ivy" + "emacs-hl-todo" + "emacs-diminish" + "emacs-solarized-theme" + "font-terminus" + "emacs-undo-tree" + "emacs-hydra" + "emacs-general" + "emacs-guix" + "emacs" + "emacs-use-package" + ))) + + +(concatenate-manifests + (list emacs-packages + (packages->manifest (list emacs-lsp-mode--new + emacs-org-roam-ui)))) diff --git a/.gitignore b/.gitignore index 6e3b0c4..f3fe7e5 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ elpa/ auto-save-list/ eln-cache/ url/ +**/#* +**/*~ diff --git a/guix/jd/desktops/base.scm b/guix/jd/desktops/base.scm index fb85c56..db95939 100644 --- a/guix/jd/desktops/base.scm +++ b/guix/jd/desktops/base.scm @@ -15,14 +15,15 @@ #:use-module (nongnu system linux-initrd)) (use-package-modules wm gnome gnupg networking virtualization - lisp lisp-xyz) -(use-service-modules cups desktop networking ssh xorg - docker virtualization pm sound dbus) + lisp lisp-xyz cups) +(use-service-modules cups desktop networking ssh xorg + docker virtualization pm sound dbus + nix) (define-public %jd-base-home-services (list - (service home-xdg-mime-applications-service-type + (service home-xdg-mime-applications-service-type (home-xdg-mime-applications-configuration (default '((inode/directory . emacs-desktop.desktop) (application/pdf . emacs-desktop.desktop))) @@ -40,48 +41,53 @@ (latitude 51.919438) (longitude 19.145136))) ;; Poland - (simple-service 'some-useful-env-vars-service - home-environment-variables-service-type - `(("GTK_THEME" . "Adwaita:dark") - ("VISUAL" . "emacsclient") - ("EDITOR" . "emacsclient") - ("PATH" . "$HOME/.bin:$HOME/.npm-global/bin:$PATH") - ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share") - ("SBCL_HOME" . "/run/current-system/profile/lib/sbcl/"))) - - (service home-gpg-agent-service-type - (home-gpg-agent-configuration - (pinentry-program - (file-append pinentry "/bin/pinentry")) - (ssh-support? #t) - (default-cache-ttl 28800) - (max-cache-ttl 28800) - (default-cache-ttl-ssh 28800) - (max-cache-ttl-ssh 28800))) - - (service home-dbus-service-type) - - (service home-desktop-service-type) - (service home-polkit-gnome-service-type))) + (simple-service 'some-useful-env-vars-service + home-environment-variables-service-type + `(("GTK_THEME" . "Adwaita:dark") + ("VISUAL" . "emacsclient") + ("EDITOR" . "emacsclient") + ("PATH" . "$HOME/.bin:$HOME/.npm-global/bin:$PATH") + ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share") + ("SBCL_HOME" . "/run/current-system/profile/lib/sbcl/"))) + + (service home-gpg-agent-service-type + (home-gpg-agent-configuration + (pinentry-program + (file-append pinentry "/bin/pinentry")) + (ssh-support? #t) + (default-cache-ttl 28800) + (max-cache-ttl 28800) + (default-cache-ttl-ssh 28800) + (max-cache-ttl-ssh 28800))) + + (service home-dbus-service-type) + + (service home-desktop-service-type) + (service home-polkit-gnome-service-type))) + + +(define-public %jakub-user + (user-account + (name "jakub") + (comment "Jakub Dlugosz") + (group "users") + (home-directory "/home/jakub") + (supplementary-groups '("wheel" ;; sudo + "netdev" ;; network devices + "kvm" + "libvirt" + "tty" + "input" + "docker" + "audio" ;; control audio devices + "video" ;; access to webcam + "dialout" ;; access to /dev/ttyUSBX devices + "adbusers" + )))) (define-public %jd-base-user-accounts (cons* - (user-account - (name "jakub") - (comment "Jakub Dlugosz") - (group "users") - (home-directory "/home/jakub") - (supplementary-groups '("wheel" ;; sudo - "netdev" ;; network devices - "kvm" - "libvirt" - "tty" - "input" - "docker" - "audio" ;; control audio devices - "video" ;; access to webcam - "dialout" ;; access to /dev/ttyUSBX devices - ))) + %jakub-user %base-user-accounts)) (define-public %stumpwm-packages @@ -104,22 +110,24 @@ (list stumpwm "lib"))) -(define-public %jd-base-packages - (append - (specifications->packages '("emacs" - "emacs-exwm" - "stow" - "bluez" - "bluez-alsa" - "exfat-utils" - "git" - "xf86-input-libinput" - "intel-vaapi-driver" - "libva-utils" ;; vainfo - "nss-certs")) - %stumpwm-packages - %base-packages)) +(define-public %root-packages + (specifications->packages '("emacs" + "emacs-exwm" + "stow" + "bluez" + "bluez-alsa" + "exfat-utils" + "git" + "xf86-input-libinput" + "intel-vaapi-driver" + "libva-utils" ;; vainfo + "nss-certs" + "nix"))) +(define-public %jd-base-packages + (append %root-packages + %stumpwm-packages + %base-packages)) (define-public %jd-base-services (cons* @@ -131,9 +139,7 @@ (service network-manager-service-type (network-manager-configuration - (vpn-plugins (list - network-manager-pptp - network-manager-openvpn)))) + (vpn-plugins (list network-manager-openvpn)))) (simple-service 'dbus-packages dbus-root-service-type (list blueman virt-manager)) @@ -149,17 +155,31 @@ (service cups-service-type (cups-configuration - (web-interface? #t))) + (web-interface? #t) + (extensions + (list cups-filters)))) (service thermald-service-type) (service tlp-service-type (tlp-configuration (cpu-boost-on-ac? #t) (wifi-pwr-on-bat? #t))) + + (service nix-service-type) polkit-network-manager-service + ;; %desktop-services (modify-services %desktop-services + (guix-service-type config => (guix-configuration + (inherit config) + (substitute-urls + (append (list "https://substitutes.nonguix.org") + %default-substitute-urls)) + (authorized-keys + (append (list (plain-file "non-guix.pub" + "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))")) + %default-authorized-guix-keys)))) (delete network-manager-service-type)))) ;; Odin is a base for my operating systems -- cgit v1.2.3