diff options
Diffstat (limited to 'systems')
-rw-r--r-- | systems/izumi/home-configuration.scm | 318 | ||||
-rw-r--r-- | systems/izumi/izumi.org | 56 |
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]] |