summaryrefslogtreecommitdiff
path: root/suweren
diff options
context:
space:
mode:
Diffstat (limited to 'suweren')
-rw-r--r--suweren/commons/sudoers.scm8
-rw-r--r--suweren/home.scm64
-rw-r--r--suweren/home/bash-profile2
-rw-r--r--suweren/home/bashrc34
-rw-r--r--suweren/home/emacs-configuration.el101
-rw-r--r--suweren/home/emacs-gnus.el28
-rw-r--r--suweren/home/emacs-init.el8
-rw-r--r--suweren/home/emacs-org.el13
-rw-r--r--suweren/home/emacs-roam.el62
-rw-r--r--suweren/home/services/fontutils.scm41
-rw-r--r--suweren/services.scm59
-rw-r--r--suweren/services/desktop.scm6
-rw-r--r--suweren/services/sound.scm6
-rw-r--r--suweren/system.scm185
-rw-r--r--suweren/trezor.scm46
-rw-r--r--suweren/update.scm42
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*)))