diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index c58ee9b..722d220 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -1,8 +1,11 @@ -on: [push] +on: + push: + branches: ["*"] jobs: test: runs-on: nix steps: - uses: actions/checkout@v4 - - run: cat /nix/store/cscv53kqarckmbz6729ngmyxg3y53n9c-push-to-cache.sh - - run: nix-fast-build --no-nom + name: Checkout repository + - name: Build with nix + run: nix-fast-build --no-nom diff --git a/.forgejo/workflows/update-flake-lock.yaml b/.forgejo/workflows/update-flake-lock.yaml index 61655dd..3cac5e5 100644 --- a/.forgejo/workflows/update-flake-lock.yaml +++ b/.forgejo/workflows/update-flake-lock.yaml @@ -1,17 +1,35 @@ name: update-flake-lock on: schedule: - - cron: '27 1 * * 6' + - cron: '45 14 * * *' # daily at 14:30 jobs: lockfile: runs-on: nix steps: - uses: actions/checkout@v4 - - name: Update flake.lock - uses: https://github.com/3DeterminateSystems/update-flake-lock@main + name: Checkout repository with: - pr-title: "Update flake.lock" # Title of PR to be created - pr-labels: | # Labels to be set on the PR - dependencies - automated + token: ${{secrets.SEVENOFNINE_TOKEN}} + - name: Create new branch from the checked out one + run: git switch -c update-flake-lock + - name: Configure git as `Seven of Nix` + run: | + git config --global user.email "sevenofnine+andrea.ciceri@autistici.org" + git config --global user.name "Seven of Nine" + - name: Update flake's lockfile and create commit + run: nix flake update --commit-lock-file + - name: Push commit to the `update-flake-lock` remote branch + run: git push origin --force update-flake-lock + - name: Login as `Seven of Nix` + run: | + tea logins add --token ${{secrets.SEVENOFNINE_TOKEN}} --url https://git.aciceri.dev + tea logins default git.aciceri.dev + - name: Create the pull request + run: | + tea pulls create \ + --repo "$GITHUB_REPOSITORY" \ + --title "Update flake's lockfile" \ + --description "Check the commit description for inputs deltas" \ + --assignees aciceri \ + || echo "PR already existing" diff --git a/flake.lock b/flake.lock index 08ee5d1..21bd9c4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1707469552, - "narHash": "sha256-CPHB05n2FKAcPtjLows1+cEOA3ivDeFHs5bkvTGSgR4=", + "lastModified": 1709862236, + "narHash": "sha256-i/0IUNU2q11tTTYK6HCdJn+YV2vly08PMCRiN2Ksjr4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "eda89e24ee4ceb6e4bfcd00dabb894d6301c36db", + "rev": "6cd7ddb6c8a8ac4b2bfb35ca3261d3e689740c8e", "type": "github" }, "original": { @@ -55,11 +55,11 @@ "extra-package-combobulate": { "flake": false, "locked": { - "lastModified": 1695673560, - "narHash": "sha256-oLxJfHN50GWlXZYmZP7ZGqyvwEG3h0HreLAfBqoWfBg=", + "lastModified": 1709362419, + "narHash": "sha256-LDjwiDlEIpWVxLFi8Cay1P3LNh1pl4GC17lNKK7QTyo=", "owner": "mickeynp", "repo": "combobulate", - "rev": "c7e4670a3047c0b58dff3746577a5c8e5832cfba", + "rev": "abc2be2a47edd2d108ce0dbe1d11e0cd2fe6796d", "type": "github" }, "original": { @@ -71,11 +71,11 @@ "extra-package-copilot": { "flake": false, "locked": { - "lastModified": 1708330768, - "narHash": "sha256-2hLO2JLZZMgXcPEb7pVRUpVrUJsUMUdJcPoE4TC7edk=", + "lastModified": 1708637353, + "narHash": "sha256-BT2II+3AYdagq1zQG82dGf7K2nIyTG0cFKbqdIixkbg=", "owner": "zerolfx", "repo": "copilot.el", - "rev": "0e24423cfef2993b3a9633c8cbb654079f2652a9", + "rev": "fd4d7e8c1e95aa9d3967b19905c9b8c3e03f6a5c", "type": "github" }, "original": { @@ -87,11 +87,11 @@ "extra-package-indent-bars": { "flake": false, "locked": { - "lastModified": 1706410940, - "narHash": "sha256-8qi7RVjQvOJnt1ziBVPK7vQhlx93nRkomu8rEcW3Pp0=", + "lastModified": 1709221609, + "narHash": "sha256-tkjy7uNYpnI9IZwizqbJDIS3Yf6U7KhWfoyXbBoCfnk=", "owner": "jdtsmith", "repo": "indent-bars", - "rev": "269774df6d5030832d04c5cf067d7a3a2568a46f", + "rev": "fb1a0d6d1ae0131898dde9722ad44da2bbebc66f", "type": "github" }, "original": { @@ -138,11 +138,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -176,11 +176,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -195,11 +195,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1704029560, - "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", + "lastModified": 1708547820, + "narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", + "rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", "type": "github" }, "original": { @@ -210,11 +210,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707268954, - "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "lastModified": 1709703039, + "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", + "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", "type": "github" }, "original": { @@ -227,11 +227,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -244,11 +244,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1707347730, - "narHash": "sha256-0etC/exQIaqC9vliKhc3eZE2Mm2wgLa0tj93ZF/egvM=", + "lastModified": 1709677081, + "narHash": "sha256-tix36Y7u0rkn6mTm0lA45b45oab2cFLqAzDbJxeXS+c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6832d0d99649db3d65a0e15fa51471537b2c56a6", + "rev": "880992dcc006a5e00dd0591446fdf723e6a51a64", "type": "github" }, "original": { @@ -274,22 +274,6 @@ "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1707268954, - "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "emacs-overlay": "emacs-overlay", @@ -302,7 +286,10 @@ "extra-package-notmuch-notify": "extra-package-notmuch-notify", "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", - "nixpkgs": "nixpkgs_3" + "nixpkgs": [ + "emacs-overlay", + "nixpkgs" + ] } }, "systems": { diff --git a/flake.nix b/flake.nix index 3e63ada..a6da048 100644 --- a/flake.nix +++ b/flake.nix @@ -3,8 +3,8 @@ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; emacs-overlay.url = "github:nix-community/emacs-overlay"; + nixpkgs.follows = "emacs-overlay/nixpkgs"; hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects"; extra-package-indent-bars = { url = "github:jdtsmith/indent-bars"; diff --git a/init.el b/init.el index e6f3758..a1fcd0f 100644 --- a/init.el +++ b/init.el @@ -67,6 +67,7 @@ (defun ccr/reload-emacs () (interactive) (load-file "~/.config/emacs/init.el")) + (load-theme 'modus-operandi 't) (defun ccr/nixos-rebuild () (interactive) (let* ((operation (completing-read "nixos-rebuild " '("switch" "boot" "test" "dry-activate"))) @@ -85,12 +86,12 @@ (tramp-use-ssh-controlmaster-options nil) ;; makes tramp use ~/.ssh/config ) -(use-package dracula-theme - :config - (add-hook 'after-make-frame-functions (defun ccr/theme-init (_) - (load-theme 'dracula 't) - (meow--prepare-face) - (remove-hook 'after-make-frame-functions 'ccr/theme-init)))) +;; (use-package dracula-theme +;; :config +;; (add-hook 'after-make-frame-functions (defun ccr/theme-init (_) +;; (load-theme 'dracula 't) +;; (meow--prepare-face) +;; (remove-hook 'after-make-frame-functions 'ccr/theme-init)))) (use-package ligature :config @@ -149,7 +150,20 @@ (indent-bars-no-stipple-char (string-to-char "┋")) (indent-bars-prefer-character 't) ;; so it works also in terminal :config - (advice-add 'consult-theme :after #'(lambda (&rest r) (with-eval-after-load 'indent-bars (indent-bars-reset))))) + ;; We need an hook to re-compute indent-bars colors when the theme changes + ;; https://github.com/jdtsmith/indent-bars/issues/31 + + (defvar after-enable-theme-hook nil + "Normal hook run after enabling a theme.") + + (defun run-after-enable-theme-hook (&rest _args) + "Run `after-enable-theme-hook'." + (run-hooks 'after-enable-theme-hook)) + + (advice-add 'enable-theme :after #'run-after-enable-theme-hook) + + (add-hook 'after-enable-theme-hook #'indent-bars-reset) +) (use-package diredfl :config (diredfl-global-mode)) @@ -725,19 +739,16 @@ This is meant to be an helper to be called from the window manager." (delete-other-windows)) ;; FIXME the following doesn't work when using the daemon, it should be executed only ;; one time after the first frame is created - (set-face-font 'variable-pitch "Dejavu Serif 14") - (set-face-font 'fixed-pitch "Iosevka 14") - - (set-face-attribute 'org-block nil :inherit 'fixed-pitch) - (set-face-attribute 'org-code nil :inherit 'fixed-pitch) - (set-face-attribute 'org-document-info-keyword nil :inherit 'fixed-pitch) - (set-face-attribute 'org-meta-line nil :inherit 'fixed-pitch) - (set-face-attribute 'org-property-value nil :inherit 'fixed-pitch) - (set-face-attribute 'org-special-keyword nil :inherit 'fixed-pitch) - (set-face-attribute 'org-table nil :inherit 'fixed-pitch) - (set-face-attribute 'org-tag nil :inherit 'fixed-pitch :weight 'bold :height 0.8) - (set-face-attribute 'org-verbatim nil :inherit 'fixed-pitch) + (set-face-font 'variable-pitch "Dejavu Serif-14") + (set-face-font 'fixed-pitch "Iosevka Comfy-14") + (dolist (face '(org-block-begin-line + org-block-end-line + org-verbatim + org-code + )) + (set-face-attribute face nil :inherit 'fixed-pitch)) + (org-babel-do-load-languages 'org-babel-load-languages '((haskell . t)))) @@ -821,6 +832,18 @@ This is meant to be an helper to be called from the window manager." (gts-buffer-follow-p 't) :bind (("C-c T t" . gts-do-translate))) +(use-package message + :custom + (message-send-mail-function 'smtpmail-send-it) + (send-mail-function 'smtpmail-send-it) + (user-mail-address "andrea.ciceri@autistici.org") + (smtpmail-smtp-server "mail.autistici.org") + (smtpmail-stream-type 'starttls) + (smtpmail-smtp-service 587) + ;; also the following line is needeed in ~/.authinfo.gpg + ;; machine mail.autistici.org login andrea.ciceri@autistici.org password + ) + (use-package notmuch :custom (notmuch-show-logo nil) @@ -828,7 +851,7 @@ This is meant to be an helper to be called from the window manager." (use-package notmuch-notify :hook (notmuch-hello-refresh . notmuch-notify-hello-refresh-status-message) - :custom + :custo (alert-default-style 'notifications) :config (notmuch-notify-set-refresh-timer)) @@ -840,6 +863,12 @@ This is meant to be an helper to be called from the window manager." ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. + '(custom-safe-themes + '("5bafdfa3e21f921abf9b9fd77e1e0ce032e62e3a6f8f13ec8ce7945727c654e9" + "5f92b9fc442528b6f106eaefa18bb5e7bfa0d737164e18f1214410fef2a6678d" + "b7f70bd00f79099f11d67a25c592d70593377488a263bb3dd73dee99b0549dba" + "7d10494665024176a90895ff7836a8e810d9549a9872c17db8871900add93d5c" + "b5c3c59e2fff6877030996eadaa085a5645cc7597f8876e982eadc923f597aca" default)) '(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'") '(org-fold-catch-invisible-edits 'show-and-error nil nil "Customized with use-package org") '(safe-local-variable-values '((copilot-mode 0) (copilot-mode -1))))