summaryrefslogtreecommitdiff
path: root/systems/izumi
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2024-02-01 08:49:59 +0100
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2024-02-01 10:07:23 +0100
commite0bb2acea47da2001477af775586b3536e05edc0 (patch)
tree13769549403badb8a3b85db05c56bc3101d6102e /systems/izumi
parent28cae4f58d5ce9a65eb82e7897c2320782bde04d (diff)
Reform package installation
Diffstat (limited to 'systems/izumi')
-rw-r--r--systems/izumi/home-configuration.scm318
-rw-r--r--systems/izumi/izumi.org56
2 files changed, 173 insertions, 201 deletions
diff --git a/systems/izumi/home-configuration.scm b/systems/izumi/home-configuration.scm
index c995b07..f84ca25 100644
--- a/systems/izumi/home-configuration.scm
+++ b/systems/izumi/home-configuration.scm
@@ -3,16 +3,7 @@
(use-modules
( channels )
(gnu home)
- (gnu home services shells)
- (gnu packages)
- (gnu packages compression)
- (gnu packages emacs)
- (gnu packages fonts)
- (gnu packages gnome)
- (gnu packages gnupg)
- (gnu packages noweb)
- (gnu packages version-control)
- (nongnu packages mozilla))
+ (gnu home services shells))
(use-modules
(gnu)
@@ -40,159 +31,154 @@
(gnu home services shells)
(gnu services))
-(home-environment
- (packages
- (list
- dconf-editor
- emacs
- emacs-org-modern
- emacs-paredit
- firefox
- font-google-noto
- font-google-noto-emoji
- font-google-noto-sans-cjk
- font-google-noto-serif-cjk
- git
- gnupg
- gnome-tweaks
- noweb
- pinentry
- pwgen
- unzip
- zip))
- (services
- (append
- ( list izumi-channels-service-type )
- (list
- (simple-service
- 'emacs-home-profile
- home-profile-service-type
- (append
- (list emacs-guix emacs-nix-mode)
- (list
- (let
- ((commit* "wip-algo-tn"))
- (package
- (name "emacs-org-fc")
- (version (git-version "0.1.0" "0" commit*))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://git.marekpasnikowski.pl/org-fc.git")
- (commit commit*)))
- (file-name (git-file-name name version))
- (sha256 (base32 "0x8bxjh4r1wqh48f69x8k6gxfpixhwci365n0rh827csfjaqs5hg"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:include #~ (cons* "\\.awk$" "\\.org$" %default-include)
- #:exclude #~ (cons "^test/" %default-exclude)
- #:tests? #t
- #:test-command
- #~
- (list
- "emacs"
- "--batch"
- "-L" "."
- "-L" "tests/"
- "-l" "tests/org-fc-filter-test.el"
- "-l" "tests/org-fc-indexer-test.el"
- "-l" "tests/org-fc-review-data-test.el"
- "-f" "ert-run-tests-batch-and-exit")
- #:phases
- #~
- (modify-phases
- %standard-phases
- (add-after
- 'unpack
- 'qualify-paths
- (lambda*
- (#:key inputs
- #:allow-other-keys)
- (substitute*
- "org-fc-awk.el"
- (("\"find ")
- (string-append
- "\""
- (search-input-file inputs "/bin/find")
- " "))
- (("\"gawk ")
- (string-append
- "\""
- (search-input-file inputs "/bin/gawk")
- " "))
- (("\"xargs ")
- (string-append
- "\""
- (search-input-file inputs "/bin/xargs")
- " "))))))))
- (inputs (list findutils gawk))
- (propagated-inputs (list emacs-hydra))
- (home-page "https://www.leonrische.me/fc/index.html")
- (synopsis "Spaced repetition system for Emacs Org mode")
- (description
- (string-append
- "Org-fc is a spaced-repetition system for Emacs' Org mode.\n"
- "It allows you to mark headlines in a file as flashcards, turning pieces of\n"
- "knowledge you want to learn into a question-answer test. These cards are\n"
- "reviewed at regular interval. After each review, the next review interval is\n"
- "calculated based on how well you remembered the contents of the card.\n"))
- (license license:gpl3+))))))
- ( simple-service
- 'home-files
- home-files-service-type
- ( list
- ( list ".emacs" ( local-file "home-files/emacs-configuration.el" ) )
- ( list ".gitconfig" ( local-file "home-files/gitconfig"))
- ( list
- ".config/git/ignore"
- ;; https://github.com/github/gitignore/blob/main/Global/Emacs.gitignore
- ( local-file "home-files/git-ignore.conf" ) ) ) )
- (simple-service
- 'environment-variables
- home-environment-variables-service-type
- `(("EDITOR" . "emacsclient -nw"))))
- (list
- (let*
- ((and "&& ")
- (collect-garbage "sudo guix gc -d 7d ")
- (configuration-prefix "/home/marek/src/deployment/systems/izumi/")
- (pull-guix "guix pull ")
- (reconfigure-home
- (string-append
- "guix home delete-generations 7d ; "
- "guix home reconfigure "
- configuration-prefix
- "home-configuration.scm "))
- (reconfigure-system
- (string-append
- "sudo guix system delete-generations 7d ; "
- "sudo guix system reconfigure "
- configuration-prefix
- "system-configuration.scm "
- and
- "sudo chmod 751 /var/lib/gitolite "
- and
- "echo 'WARNING: Upstream the correct permission bits to gitolite.'"))
- (update-system
- (string-append
- pull-guix
- and
- reconfigure-system
- and
- reconfigure-home
- and
- collect-garbage)))
- (simple-service
- 'bash-extension
- home-bash-service-type
- (home-bash-extension
- (aliases
- `(("collect-garbage" . ,collect-garbage)
- ("edit" . "$EDITOR")
- ("pull-guix" . ,pull-guix)
- ("reconfigure-home" . ,reconfigure-home)
- ("reconfigure-system" . ,reconfigure-system)
- ("update-system" . ,update-system))))))))))
+(home-environment (packages (map specification->package+output
+ (list "dconf-editor"
+ "emacs"
+ "emacs-org-modern"
+ "emacs-paredit"
+ "font-google-noto"
+ "font-google-noto-emoji"
+ "font-google-noto-sans-cjk"
+ "font-google-noto-serif-cjk"
+ "git"
+ "gnupg"
+ "gnome-tweaks"
+ "noweb"
+ "pinentry"
+ "pwgen"
+ "unzip"
+ "zip")))
+ (services (append (list izumi-channels-service-type)
+ (list
+ (simple-service
+ 'emacs-home-profile
+ home-profile-service-type
+ (append
+ (list emacs-guix emacs-nix-mode)
+ (list
+ (let
+ ((commit* "wip-algo-tn"))
+ (package
+ (name "emacs-org-fc")
+ (version (git-version "0.1.0" "0" commit*))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://git.marekpasnikowski.pl/org-fc.git")
+ (commit commit*)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "0x8bxjh4r1wqh48f69x8k6gxfpixhwci365n0rh827csfjaqs5hg"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:include #~ (cons* "\\.awk$" "\\.org$" %default-include)
+ #:exclude #~ (cons "^test/" %default-exclude)
+ #:tests? #t
+ #:test-command
+ #~
+ (list
+ "emacs"
+ "--batch"
+ "-L" "."
+ "-L" "tests/"
+ "-l" "tests/org-fc-filter-test.el"
+ "-l" "tests/org-fc-indexer-test.el"
+ "-l" "tests/org-fc-review-data-test.el"
+ "-f" "ert-run-tests-batch-and-exit")
+ #:phases
+ #~
+ (modify-phases
+ %standard-phases
+ (add-after
+ 'unpack
+ 'qualify-paths
+ (lambda*
+ (#:key inputs
+ #:allow-other-keys)
+ (substitute*
+ "org-fc-awk.el"
+ (("\"find ")
+ (string-append
+ "\""
+ (search-input-file inputs "/bin/find")
+ " "))
+ (("\"gawk ")
+ (string-append
+ "\""
+ (search-input-file inputs "/bin/gawk")
+ " "))
+ (("\"xargs ")
+ (string-append
+ "\""
+ (search-input-file inputs "/bin/xargs")
+ " "))))))))
+ (inputs (list findutils gawk))
+ (propagated-inputs (list emacs-hydra))
+ (home-page "https://www.leonrische.me/fc/index.html")
+ (synopsis "Spaced repetition system for Emacs Org mode")
+ (description
+ (string-append
+ "Org-fc is a spaced-repetition system for Emacs' Org mode.\n"
+ "It allows you to mark headlines in a file as flashcards, turning pieces of\n"
+ "knowledge you want to learn into a question-answer test. These cards are\n"
+ "reviewed at regular interval. After each review, the next review interval is\n"
+ "calculated based on how well you remembered the contents of the card.\n"))
+ (license license:gpl3+))))))
+ ( simple-service
+ 'home-files
+ home-files-service-type
+ ( list
+ ( list ".emacs" ( local-file "home-files/emacs-configuration.el" ) )
+ ( list ".gitconfig" ( local-file "home-files/gitconfig"))
+ ( list
+ ".config/git/ignore"
+ ;; https://github.com/github/gitignore/blob/main/Global/Emacs.gitignore
+ ( local-file "home-files/git-ignore.conf" ) ) ) )
+ (simple-service
+ 'environment-variables
+ home-environment-variables-service-type
+ `(("EDITOR" . "emacsclient -nw"))))
+ (list
+ (let*
+ ((and "&& ")
+ (collect-garbage "sudo guix gc -d 7d ")
+ (configuration-prefix "/home/marek/src/deployment/systems/izumi/")
+ (pull-guix "guix pull ")
+ (reconfigure-home
+ (string-append
+ "guix home delete-generations 7d ; "
+ "guix home reconfigure "
+ configuration-prefix
+ "home-configuration.scm "))
+ (reconfigure-system
+ (string-append
+ "sudo guix system delete-generations 7d ; "
+ "sudo guix system reconfigure "
+ configuration-prefix
+ "system-configuration.scm "
+ and
+ "sudo chmod 751 /var/lib/gitolite "
+ and
+ "echo 'WARNING: Upstream the correct permission bits to gitolite.'"))
+ (update-system
+ (string-append
+ pull-guix
+ and
+ reconfigure-system
+ and
+ reconfigure-home
+ and
+ collect-garbage)))
+ (simple-service
+ 'bash-extension
+ home-bash-service-type
+ (home-bash-extension
+ (aliases
+ `(("collect-garbage" . ,collect-garbage)
+ ("edit" . "$EDITOR")
+ ("pull-guix" . ,pull-guix)
+ ("reconfigure-home" . ,reconfigure-home)
+ ("reconfigure-system" . ,reconfigure-system)
+ ("update-system" . ,update-system))))))))))
diff --git a/systems/izumi/izumi.org b/systems/izumi/izumi.org
index 28e713f..5510e8b 100644
--- a/systems/izumi/izumi.org
+++ b/systems/izumi/izumi.org
@@ -725,47 +725,33 @@
(use-modules
( channels )
(gnu home)
- (gnu home services shells)
- (gnu packages)
- (gnu packages compression)
- (gnu packages emacs)
- (gnu packages fonts)
- (gnu packages gnome)
- (gnu packages gnupg)
- (gnu packages noweb)
- (gnu packages version-control)
- (nongnu packages mozilla))
+ (gnu home services shells))
<<EMACS-GUIX-MODULES>>
<<EMACS-ORG-FC-TN-MODULES>>
<<ESSENTIAL-HOME-MODULES>>
<<SHELLS-MODULES>>
- (home-environment
- (packages
- (list
- dconf-editor
- emacs
- emacs-org-modern
- emacs-paredit
- firefox
- font-google-noto
- font-google-noto-emoji
- font-google-noto-sans-cjk
- font-google-noto-serif-cjk
- git
- gnupg
- gnome-tweaks
- noweb
- pinentry
- pwgen
- unzip
- zip))
- (services
- (append
- ( list izumi-channels-service-type )
- <<ESSENTIAL-HOME-SERVICES>>
- <<SHELLS>>)))
+ (home-environment (packages (map specification->package+output
+ (list "dconf-editor"
+ "emacs"
+ "emacs-org-modern"
+ "emacs-paredit"
+ "font-google-noto"
+ "font-google-noto-emoji"
+ "font-google-noto-sans-cjk"
+ "font-google-noto-serif-cjk"
+ "git"
+ "gnupg"
+ "gnome-tweaks"
+ "noweb"
+ "pinentry"
+ "pwgen"
+ "unzip"
+ "zip")))
+ (services (append (list izumi-channels-service-type)
+ <<ESSENTIAL-HOME-SERVICES>>
+ <<SHELLS>>)))
#+END_SRC
** [[https://guix.gnu.org/manual/en/html_node/Home-Services.html][13.3 Home Services]]