diff options
Diffstat (limited to 'suweren')
-rw-r--r-- | suweren/commons/sudoers.scm | 8 | ||||
-rw-r--r-- | suweren/home.scm | 64 | ||||
-rw-r--r-- | suweren/home/bash-profile | 2 | ||||
-rw-r--r-- | suweren/home/bashrc | 34 | ||||
-rw-r--r-- | suweren/home/emacs-configuration.el | 101 | ||||
-rw-r--r-- | suweren/home/emacs-gnus.el | 28 | ||||
-rw-r--r-- | suweren/home/emacs-init.el | 8 | ||||
-rw-r--r-- | suweren/home/emacs-org.el | 13 | ||||
-rw-r--r-- | suweren/home/emacs-roam.el | 62 | ||||
-rw-r--r-- | suweren/home/services/fontutils.scm | 41 | ||||
-rw-r--r-- | suweren/services.scm | 59 | ||||
-rw-r--r-- | suweren/services/desktop.scm | 6 | ||||
-rw-r--r-- | suweren/services/sound.scm | 6 | ||||
-rw-r--r-- | suweren/system.scm | 185 | ||||
-rw-r--r-- | suweren/trezor.scm | 46 | ||||
-rw-r--r-- | suweren/update.scm | 42 |
16 files changed, 75 insertions, 630 deletions
diff --git a/suweren/commons/sudoers.scm b/suweren/commons/sudoers.scm deleted file mode 100644 index 0ae42d3..0000000 --- a/suweren/commons/sudoers.scm +++ /dev/null @@ -1,8 +0,0 @@ -(define-module (suweren commons sudoers) - #:use-module (guix gexp)) - -(define-public %sudoers-specification* - (let ((content (string-append "root ALL=(ALL) ALL \n" - "%wheel ALL=(ALL) ALL \n" - "Defaults passwd_timeout=0 \n"))) - (plain-file "sudoers" content))) diff --git a/suweren/home.scm b/suweren/home.scm index e51579c..cb4c3eb 100644 --- a/suweren/home.scm +++ b/suweren/home.scm @@ -1,15 +1,4 @@ (define-module (suweren home) - ;; easyeffects - #:use-module (gnu packages audio) - - ;; font-google-noto - ;; font-google-noto-emoji - ;; font-google-noto-sans-cjk - ;; font-google-noto-serif-cjk - #:use-module (gnu packages fonts) - - ;; kded - #:use-module (gnu packages kde-frameworks) ;; home-profile-service-type #:use-module (gnu home services) @@ -17,62 +6,25 @@ ;; home-dbus-service-type #:use-module (gnu home services desktop) - ;; home-bash-service-type - #:use-module (gnu home services shells) - ;; home-shepherd-service-type #:use-module (gnu home services shepherd) ;; home-pipewire-service-type #:use-module (gnu home services sound) - ;; gnupg - ;; pinentry-qt - ;; pinentry-tty - #:use-module (gnu packages gnupg) - - ;; kde-gtk-config - #:use-module (gnu packages kde-plasma) - - ;; librewolf - #:use-module (gnu packages librewolf) - ;; service ;; simple-service #:use-module (gnu services) - - ;; suweren-home-fontconfig-service-type - #:use-module (suweren home services fontutils) ;; update-commands #:use-module (suweren update)) -;; string -> -;; (record service) -(define-public (%suweren-home-services host-name*) - (let* ((packages (list easyeffects - font-google-noto - font-google-noto-emoji - font-google-noto-sans-cjk - font-google-noto-serif-cjk - font-hack - gnupg - kde-gtk-config - kded - librewolf - pinentry-qt - pinentry-tty)) - - (dbus (service home-dbus-service-type)) - (pipewire (service home-pipewire-service-type)) - (profile (simple-service 'default-home-packages - home-profile-service-type - packages)) - (shepherd (service home-shepherd-service-type)) - (update-commands* (update-commands host-name*))) +(define-public %suweren-home-services + (let* + ( (dbus (service home-dbus-service-type)) + (pipewire (service home-pipewire-service-type)) + (shepherd (service home-shepherd-service-type))) (list dbus - pipewire - profile - shepherd - suweren-home-fontconfig-service-type - update-commands*))) + pipewire + shepherd + update-commands))) diff --git a/suweren/home/bash-profile b/suweren/home/bash-profile deleted file mode 100644 index 37ea25c..0000000 --- a/suweren/home/bash-profile +++ /dev/null @@ -1,2 +0,0 @@ -# Honor per-interactive-shell startup file -if [ -f ~/.bashrc ]; then . ~/.bashrc; fi diff --git a/suweren/home/bashrc b/suweren/home/bashrc deleted file mode 100644 index be0d92a..0000000 --- a/suweren/home/bashrc +++ /dev/null @@ -1,34 +0,0 @@ -# Bash initialization for interactive non-login shells and -# for remote shells (info "(bash) Bash Startup Files"). - -# Export 'SHELL' to child processes. Programs such as 'screen' -# honor it and otherwise use /bin/sh. -export SHELL - -if [[ $- != *i* ]] -then - # We are being invoked from a non-interactive shell. If this - # is an SSH session (as in "ssh host command"), source - # /etc/profile so we get PATH and other essential variables. - [[ -n "$SSH_CLIENT" ]] && source /etc/profile - - # Don't do anything else. - return -fi - -# Source the system-wide file. -source /etc/bashrc - -# Adjust the prompt depending on whether we're in 'guix environment'. -if [ -n "$GUIX_ENVIRONMENT" ] -then - PS1='\u@\h \w [env]\$ ' -else - PS1='\u@\h \w\$ ' -fi -alias ls='ls -p --color=auto' -alias ll='ls -l' -alias grep='grep --color=auto' - -GUIX_PROFILE="/var/guix/profiles/per-user/$USER/guix-profile" ; -source "$GUIX_PROFILE/etc/profile" ; diff --git a/suweren/home/emacs-configuration.el b/suweren/home/emacs-configuration.el deleted file mode 100644 index b883818..0000000 --- a/suweren/home/emacs-configuration.el +++ /dev/null @@ -1,101 +0,0 @@ -;; Enable Horizontal Scrolling -(setq-default auto-hscroll-mode t - hscroll-margin 10 - hscroll-step 1) - -;; Disable Backup Files -(setq make-backup-files nil) - -;;; https://github.com/fimblo/dot.emacs -;;; Theme Activation -(load-theme 'modus-operandi) - -;;; Disable Ring Bell -(setq-default ring-bell-function 'ignore) - -;;; Disable Org Indent Mode -(add-hook 'org-mode-hook (lambda () (org-indent-mode -1))) - -;;; Enable ParEdit -(add-hook 'prog-mode-hook 'enable-paredit-mode) - -;;; https://elpa.gnu.org/packages/aggressive-indent.html -;;; Automatic Activation of Aggressive Indent -;; (global-aggressive-indent-mode) - -;; Highlight the pair of delimiters under the cursor -(setq-default show-paren-mode 1 - show-paren-delay 0) - -;;; https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html -;;; Copyright Information -(setq-default user-full-name "Marek Paśnikowski" - user-mail-address "marek@marekpasnikowski.pl") - -(setq-default epg-gpg-program "gpg2") - -;;;https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org#my-gnusel -(setq-default send-mail-function 'smtpmail-send-it - smtpmail-stream-type 'ssl - smtpmail-smtp-server "marekpasnikowski.pl" - smtpmail-smtp-service 465 - ;; smtpmail-local-domain "izumi.lan" - smtpmail-debug-info t) - -(require 'smtpmail) - -;;; https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org#my-gnusel -(add-hook 'message-mode-hook - (lambda () - (flyspell-mode t) - (local-set-key (kbd "TAB") - 'bbdb-complete-name))) - -;;; Startup Screen Inhibition -(setq-default inhibit-startup-screen t) - -;; Enable the column-100 line -(setq-default display-fill-column-indicator-column 100 - fill-column 100 - org-startup-truncated nil) -(set-face-attribute 'fill-column-indicator nil :foreground "green") -(global-display-fill-column-indicator-mode) - -;;; Enable Org Modern Style - ;(with-eval-after-load 'org (global-org-modern-mode)) - -;; Prepare Literate Programming -(setq-default - org-startup-indented t - org-confirm-babel-evaluate nil - org-src-fontify-natively t - org-src-tab-acts-natively t) -(org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) - (scheme . t ) - (shell . t ))) - -(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) - -;; Monospace Font in Ebook Reader -(setq-default nov-variable-pitch nil) - -;; Disable Toolbar -(tool-bar-mode -1) - -;; ORG-FC Configuration -(setq-default - org-fc-algorithm 'tn - org-fc-shuffle-positions t - org-fc-directories '("~/Dokumenty/fiszki")) - -;; Nix Mode -;; (require 'nix-mode) -;; (add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode)) - -;; (setq tramp-remote-path -;; (append tramp-remote-path -;; '(tramp-own-remote-path -;; "~/.guix-profile/bin" -;; "~/.guix-profile/sbin" -;; "/run/current-system/profile/bin" -;; "/run/current-system/profile/sbin"))) diff --git a/suweren/home/emacs-gnus.el b/suweren/home/emacs-gnus.el deleted file mode 100644 index 39d51a9..0000000 --- a/suweren/home/emacs-gnus.el +++ /dev/null @@ -1,28 +0,0 @@ -(setq gnus-select-method - '(nnimap "personal" - (nnimap-address "marekpasnikowski.pl") - (nnimap-user "marek") - (nnimap-inbox "INBOX"))) - -(setq gnus-secondary-select-methods - '((nnimap "guix-devel" - (nnimap-address "marekpasnikowski.pl") - (nnimap-user "guix-devel") - (nnimap-inbox "INBOX")) - (nnimap "help-guix" - (nnimap-address "marekpasnikowski.pl") - (nnimap-user "help-guix") - (nnimap-inbox "INBOX")))) - -;; (alist string parameter) -(setq gnus-parameters - '(("personal" (posting-style (address "marek@marekpasnikowski.pl"))) - ("guix-devel" (posting-style (address "marek@marekpasnikowski.pl") - (gcc nil))) - ("help-guix" (posting-style (address "marek@marekpasnikowski.pl") - (gcc nil))))) - -(setq gnus-message-archive-group - (format-time-string "nnimap+personal:Archive.%Y-%m")) - -(setq gnus-gcc-mark-as-read t) diff --git a/suweren/home/emacs-init.el b/suweren/home/emacs-init.el deleted file mode 100644 index 6715d0f..0000000 --- a/suweren/home/emacs-init.el +++ /dev/null @@ -1,8 +0,0 @@ -;; This is a DRY expression to load a list of Emacs configuration files. -(mapcar (lambda (file-name) - (let ((file-path (concat "$XDG_CONFIG_HOME/emacs/" file-name))) - (load-file file-path))) - (list "configuration.el" - "gnus.el" - "org.el" - "roam.el")) diff --git a/suweren/home/emacs-org.el b/suweren/home/emacs-org.el deleted file mode 100644 index 06ed13f..0000000 --- a/suweren/home/emacs-org.el +++ /dev/null @@ -1,13 +0,0 @@ -(require 'org) - -(defvar window-setup - (setq org-agenda-window-setup 'only-window) - (concat "Full-screen agenda.")) - -(use-package org - :bind - (("C-c a" . org-agenda) - ("C-c c" . org-capture) - ("C-c l" . org-store-link)) - :custom - 'window-setup) diff --git a/suweren/home/emacs-roam.el b/suweren/home/emacs-roam.el deleted file mode 100644 index 4e0673d..0000000 --- a/suweren/home/emacs-roam.el +++ /dev/null @@ -1,62 +0,0 @@ -(require 'org-roam) - -(defun org-roam-db-query-tasks () - (concat "The query constructor to receive a list of files with tasks.") - (org-roam-db-query [:select - :distinct [file] - :from nodes - :where (like todo "TODO") - :or (like todo "DONE")])) - -(defun org-roam-dailies-with-tasks () - (concat "List of distinct Org Roam files with tasks,\n" - "obtained with Roam’s SQLite database query.\n" - "\n" - "The application of append is necessary to unpack the query result.") - (apply 'append - (funcall #'org-roam-db-query-tasks))) - -(defvar org-roam-merged-agenda-files - (append org-agenda-files - (org-roam-dailies-with-tasks)) - (concat "List of Roam’s agenda files merged with agenda files set earlier.")) - -(defun org-roam-update-agenda-files (&rest _) - (concat "Refresh the list of agenda files before opening the agenda.") - (setq org-agenda-files (org-roam-dailies-with-tasks))) - -(use-package org-roam - :init - (setq org-roam-v2-ack t) - - :config - (require 'org-roam-dailies) - (org-roam-db-autosync-mode) - (advice-add 'org-agenda - :before - #'org-roam-update-agenda-files) - (advice-add 'org-todo-list - :before - #'org-roam-update-agenda-files) - - :bind - (("C-c n f" . org-roam-node-find) - ("C-c n i" . org-roam-node-insert) - ("C-c n l" . org-roam-buffer-toggle) - :map - org-roam-dailies-map - ("T" . org-roam-dailies-capture-tomorrow) - ("Y" . org-roam-dailies-capture-yesterday)) - - :bind-keymap - ("C-c n d" . org-roam-dailies-map) - - :custom - (org-roam-directory "~/Dokumenty/Baza") - (org-roam-dailies-directory "Dziennik/") - (org-roam-capture-templates '(("d" "default" plain "%?" - :target (file+head "${slug}.org" - "#+title: ${title}\n") - :unnarrowed t))) - - :ensure t) diff --git a/suweren/home/services/fontutils.scm b/suweren/home/services/fontutils.scm deleted file mode 100644 index 661667b..0000000 --- a/suweren/home/services/fontutils.scm +++ /dev/null @@ -1,41 +0,0 @@ -(define-module (suweren home services fontutils) - ;; suweren-home-fontconfig-service-type - - #:use-module (gnu home services fontutils) - - ;; suweren-home-fontconfig-service-type - #:use-module (gnu services)) - -(define-public suweren-home-fontconfig-service-type - (let* ((antialias '(match (@ (target "font")) - (edit (@ (mode "assign") - (name "antialias")) - (bool "true")))) - (hinting '(match (@ (target "font")) - (edit (@ (mode "assign") - (name "hinting")) - (bool "true")))) - (hintstyle '(match (@ (target "font")) - (edit (@ (mode "assign") - (name "hintstyle")) - (const "hintfull")))) - (rgba '(match (@ (target "font")) - (edit (@ (mode "assign") - (name "rgba")) - (const "rgb")))) - - ;; TODO sxml -> (sxml) - (rules (list antialias - hinting - hintstyle - rgba)) - - ;; TODO Remove the hardcoded path by using an appropriate variable. - ;; TODO string -> (sxml) -> fontconfig-extension - (extensions (list "~/.guix-home/profile/share/fonts" - rules))) - - ;; TODO symbol -> service-type? -> fontconfig-extension -> service - (simple-service 'suweren-fontconfig - home-fontconfig-service-type - extensions))) diff --git a/suweren/services.scm b/suweren/services.scm deleted file mode 100644 index c067df8..0000000 --- a/suweren/services.scm +++ /dev/null @@ -1,59 +0,0 @@ -(define-module (suweren services) - #:use-module (gnu packages cups) - #:use-module (gnu packages linux) - #:use-module (gnu services) - #:use-module (gnu services base) - #:use-module (gnu services cups) - #:use-module (gnu services desktop) - #:use-module (gnu services sddm) - #:use-module (gnu services sound) - #:use-module (gnu services syncthing) - #:use-module (gnu services xorg) - #:use-module (services guix channels) - #:use-module (services nonguix substitute) - #:use-module (services plasma-desktop) - #:use-module (suweren services desktop) - #:use-module (suweren trezor) ; trezor-bridge - #:use-module (upstream services nbfc)) - -(define (guix-options configuration-record) - (let ((extra-options (list "--gc-keep-derivations=yes" - "--gc-keep-outputs=yes"))) - (guix-configuration (inherit configuration-record) - (extra-options extra-options)))) - -(define-public %distribution-services - (let* ((cups-configuration* (cups-configuration (web-interface? #t))) - (nbfc-configuration* (nbfc-configuration (model "Acer Nitro AN515-43"))) - (sddm-configuration* (sddm-configuration ;; (display-server "wayland") - (theme "breeze"))) - - (cups-service (service cups-service-type - cups-configuration*)) - (%desktop-services* (modify-services %desktop-services - (delete gdm-service-type) - (delete pulseaudio-service-type) - (guix-service-type configuration - => - (guix-options configuration)) - (guix-service-type configuration - => - (channels configuration)) - (guix-service-type configuration - => - (nonguix-substitute configuration)))) - (nbfc-service (service nbfc-service-type - nbfc-configuration*)) - (plasma-desktop-service (service plasma-desktop-service-type)) - (sddm-service (service sddm-service-type - sddm-configuration*)) - (syncthing-service (service syncthing-service-type - (syncthing-configuration (user "marek"))))) - (append %desktop-services* - bluetooth-services - trezor-bridge - (list cups-service - nbfc-service - plasma-desktop-service - sddm-service - syncthing-service)))) diff --git a/suweren/services/desktop.scm b/suweren/services/desktop.scm deleted file mode 100644 index 6c50d96..0000000 --- a/suweren/services/desktop.scm +++ /dev/null @@ -1,6 +0,0 @@ -(define-module (suweren services desktop) - #:use-module (gnu services) - #:use-module (gnu services desktop)) - -(define-public bluetooth-services - (list (service bluetooth-service-type))) diff --git a/suweren/services/sound.scm b/suweren/services/sound.scm deleted file mode 100644 index 8067f98..0000000 --- a/suweren/services/sound.scm +++ /dev/null @@ -1,6 +0,0 @@ -(define-module (suweren services sound) - #:use-module (gnu home services sound) - #:use-module (gnu services)) - -(define-public pipewire - (service home-pipewire-service-type)) diff --git a/suweren/system.scm b/suweren/system.scm index 9ee81b9..a7934f0 100644 --- a/suweren/system.scm +++ b/suweren/system.scm @@ -1,174 +1,37 @@ (define-module (suweren system) - #:use-module (gnu packages kde-pim) ; kgpg - #:use-module (gnu services) ; modify-services - ; profile-service-type - ; simple-service - #:use-module (gnu services base) ; guix-configuration - ; guix-service-type - ; login-configuration - ; login-service-type - #:use-module (gnu services desktop) ; %desktop-services - ; plasma-desktop-service-type - #:use-module (gnu services sddm) ; sddm-configuration - ; sddm-service-type - #:use-module (gnu services syncthing) ; syncthing-configuration - ; syncthing-service-type - #:use-module (gnu services xorg) ; gdm-service-type - #:use-module (gnu system) ; operating-system + #:use-module (gnu system locale) #:use-module (gnu system file-systems) ; %base-file-systems - #:use-module (gnu system shadow) ; %base-user-accounts - #:use-module (guix channels) ; %default-channels - #:use-module (guix gexp) ; plain-file - #:use-module (suweren commons sudoers) ; %sudoers-specification* - ) + #:use-module (gnu system shadow) ; %base-user-accounts + #:use-module (nongnu packages linux)) -;; (list record* package) -(define packages - (list kgpg)) +(define-public polish-locale-string + "pl_PL.utf8") -;; record* service -(define profile - (simple-service 'distribution-packages - profile-service-type - packages)) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; record guix-configuration -> -;; record guix-configuration -(define (guix configuration) - (let* ((deployment-commit "c24ce7cb11e74da13d491f9de3c4b7040a069f43") - (distribution-commit "7d17bded11ef1239592e6e5abd40ceee1e99cbb8") - (marekpasnikowski-fingerprint - (openpgp-fingerprint "590E 500F E39D 26B3 E60B 743B 6D81 B120 7711 899F")) - (nonguix-commit "897c1a470da759236cc11798f4e0a5f7d4d59fbc") - (nonguix-fingerprint - (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")) +(define polish-locale + (locale-definition (name polish-locale-string) + (source "pl_PL"))) - (deployment-introduction (make-channel-introduction deployment-commit - marekpasnikowski-fingerprint)) - (deployment-url "https://git.marekpasnikowski.pl/git/deployment.git") - (distribution-introduction (make-channel-introduction distribution-commit - marekpasnikowski-fingerprint)) - (distribution-url "https://git.marekpasnikowski.pl/git/distribution.git") - (nonguix-authorized-guix-key-content - (string-append - "(public-key \n" - "(ecc \n" - "(curve Ed25519) \n" - "(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#))) \n")) - (nonguix-authorized-guix-key-name "nonguix-authorized-guix-key") - (nonguix-introduction (make-channel-introduction nonguix-commit - nonguix-fingerprint)) - (nonguix-url "https://gitlab.com/nonguix/nonguix") +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - (deployment (channel (name 'deployment) - (url deployment-url) - (introduction deployment-introduction))) - (distribution (channel (name 'distribution) - (url distribution-url) - (introduction distribution-introduction))) - (nonguix (channel (name 'nonguix) - (url nonguix-url) - (introduction nonguix-introduction))) - (nonguix-key (plain-file nonguix-authorized-guix-key-name - nonguix-authorized-guix-key-content)) +(define (locale-definitions*) + (append %default-locale-definitions + (list polish-locale))) - (nonguix-authorized-guix-keys (list nonguix-key)) - (nonguix-substitute-urls (list "https://substitutes.nonguix.org")) - (suweren-channels (list deployment - distribution - nonguix)) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - (%default-authorized-guix-keys* (append %default-authorized-guix-keys - nonguix-authorized-guix-keys)) - (%default-channels* (append %default-channels - suweren-channels)) - (%default-substitute-urls* (append %default-substitute-urls - nonguix-substitute-urls)) - (extra-options* (list "--gc-keep-derivations=yes" - "--gc-keep-outputs=yes"))) - (guix-configuration (inherit configuration) - (channels %default-channels*) - (authorized-keys %default-authorized-guix-keys*) - (substitute-urls %default-substitute-urls*) - (extra-options extra-options*)))) +(define-public %suweren-bootloader + #f) -;; record login-configuration -> -;; record login-configuration -(define (login configuration) - (login-configuration (inherit configuration) - (allow-empty-passwords? #f))) +(define-public %suweren-file-systems + %base-file-systems) -;; record syncthing-configuration -(define syncthing-configuration* - (syncthing-configuration (user "marek"))) +(define-public %suweren-kernel + linux) -;; record syncthing-service-type -(define syncthing - (service syncthing-service-type - syncthing-configuration*)) +(define-public %suweren-locale-definitions + (locale-definitions*)) -;; record package -> -;; record bootloader-configuration -> -;; bool | record keyboard-layout -> -;; record package -> -;; (record package) -> -;; string -> -;; (record file-system) -> -;; (record swap-space) -> -;; (record user-account) -> -;; string -> -;; string -> -;; (record service) -> -;; record operating-system -(define-public (%suweren-operating-system kernel* - bootloader-configuration* - keyboard-layout* - initrd* - firmware* - host-name* - file-systems* - swap-devices* - users* - timezone* - locale* - services*) - (let* ((sddm-configuration* (sddm-configuration (theme "breeze") - (auto-login-user "lilia"))) - - (plasma-desktop (service plasma-desktop-service-type)) - (sddm (service sddm-service-type - sddm-configuration*)) - - (%desktop-services* (modify-services %desktop-services - (delete gdm-service-type) - (guix-service-type configuration - => - (guix configuration)) - (login-service-type configuration - => - (login configuration)))) - (suweren-services (list plasma-desktop - profile - sddm - syncthing)) - - (file-systems* (append %base-file-systems - file-systems*)) - (services* (append %desktop-services* - suweren-services - services*)) - (users* (append %base-user-accounts - users*))) - (operating-system (kernel kernel*) - (bootloader bootloader-configuration*) - (keyboard-layout keyboard-layout*) - (initrd initrd*) - (firmware firmware*) - (host-name host-name*) - (file-systems file-systems*) - (swap-devices swap-devices*) - (users users*) - (timezone timezone*) - (locale locale*) - (services services*) - (sudoers-file %sudoers-specification*)))) +(define-public %suweren-users + %base-user-accounts) diff --git a/suweren/trezor.scm b/suweren/trezor.scm index 76643ea..496fd72 100644 --- a/suweren/trezor.scm +++ b/suweren/trezor.scm @@ -6,30 +6,34 @@ #:use-module (guix gexp)) (define-public trezor-bridge - (let* ((service-executable (file-append trezord - "/bin/trezord-go")) + (let* + ( (service-executable (file-append trezord + "/bin/trezord-go")) - (start-command #~ (list #$ service-executable)) + (start-command #~ (list #$ service-executable)) - (shepherd-symbols (list 'trezor-bridge)) - (start-process #~ (make-forkexec-constructor #$ start-command)) - (stop-process #~ (make-kill-destructor)) + (shepherd-symbols (list 'trezor-bridge)) + (start-process #~ (make-forkexec-constructor #$ start-command)) + (stop-process #~ (make-kill-destructor)) - (profile-extension (list trezord)) - (shepherd-extension (shepherd-service (provision shepherd-symbols) - (start start-process) - (stop stop-process))) + (profile-extension (list trezord)) + (shepherd-extension + (shepherd-service + (provision shepherd-symbols) + (requirement (list 'user-processes)) + (start start-process) + (stop stop-process))) - (shepherd-extension* (list shepherd-extension)) + (shepherd-extension* (list shepherd-extension)) - (profile-service (simple-service 'trezor-bridge-profile - profile-service-type - profile-extension)) - (shepherd-service (simple-service 'trezor-bridge-shepherd - shepherd-root-service-type - shepherd-extension*)) - (udev-service (udev-rules-service 'trezor-bridge-udev - trezord-udev-rules))) + (profile-service (simple-service 'trezor-bridge-profile + profile-service-type + profile-extension)) + (shepherd-service* (simple-service 'trezor-bridge-shepherd + shepherd-root-service-type + shepherd-extension*)) + (udev-service* (udev-rules-service 'trezor-bridge-udev + trezord-udev-rules))) (list profile-service - udev-service - shepherd-service))) + udev-service* + shepherd-service*))) diff --git a/suweren/update.scm b/suweren/update.scm index 1381b2c..7afe25c 100644 --- a/suweren/update.scm +++ b/suweren/update.scm @@ -1,7 +1,8 @@ (define-module (suweren update) ;; home-bash-extension ;; home-bash-service-type - #:use-module (gnu home services shells) + #:use-module ((gnu home services shells) + #:prefix gnu:home:services:shells:) ;; simple-service #:use-module (gnu services)) @@ -19,8 +20,8 @@ "sudo guix system delete-generations 7d") ;; string -(define guile-load-path - "GUILE_LOAD_PATH='$HOME/Szablony/distribution:$HOME/Szablony/deployment'") +(define guix-test-switches + "-L ~/Szablony/sovereign -L ~/Szablony/distribution -L ~/Szablony/deployment -v 3") ;; string (define pull-guix @@ -36,13 +37,6 @@ ;; string -> ;; string -(define (system-definition host-name*) - (string-append "'(@ (systems " - host-name* - ") operating-system*)'")) - -;; string -> -;; string (define (reconfigure-system system-definition*) (string-append "sudo guix system reconfigure -e " system-definition*)) @@ -50,9 +44,9 @@ ;; string -> ;; string (define (test-update reconfigure-system*) - (string-append guile-load-path - " " - reconfigure-system*)) + (string-append reconfigure-system* + " " + guix-test-switches)) ;; string -> ;; string @@ -78,15 +72,15 @@ ;; string -> ;; record service -(define-public (update-commands host-name*) - (let* ((system-definition* (system-definition host-name*)) - (reconfigure-system* (reconfigure-system system-definition*)) - (test-update* (test-update reconfigure-system*)) - (update-system* (update-system reconfigure-system*)) - (aliases* (aliases reconfigure-system* - test-update* - update-system*)) - (service-extension* (home-bash-extension (aliases aliases*)))) +(define-public update-commands + (let* + ( (reconfigure-system* (reconfigure-system "\"(@ (deployment systems $HOSTNAME) operating-system*)\"")) + (test-update* (test-update reconfigure-system*)) + (update-system* (update-system reconfigure-system*)) + (aliases* (aliases reconfigure-system* + test-update* + update-system*)) + (service-extension* (gnu:home:services:shells:home-bash-extension (aliases aliases*)))) (simple-service 'update-commands - home-bash-service-type - service-extension*))) + gnu:home:services:shells:home-bash-service-type + service-extension*))) |