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]] | 
