diff --git a/checks/default.nix b/checks/default.nix index 376d792..1ea5427 100644 --- a/checks/default.nix +++ b/checks/default.nix @@ -16,7 +16,7 @@ treefmt.config = { projectRootFile = ".git/config"; programs = { - nixfmt.enable = true; + nixfmt-rfc-style.enable = true; deadnix.enable = false; }; }; @@ -32,7 +32,9 @@ build = _: nc: nc.config.system.build.toplevel; in { - x86_64-linux = lib.mapAttrs build { inherit (self.nixosConfigurations) picard; }; + x86_64-linux = lib.mapAttrs build { + inherit (self.nixosConfigurations) picard; + }; aarch64-linux = lib.mapAttrs build { inherit (self.nixosConfigurations) sisko; # pbp; }; diff --git a/flake.lock b/flake.lock index 05e2f22..0e843d3 100644 --- a/flake.lock +++ b/flake.lock @@ -80,11 +80,11 @@ ] }, "locked": { - "lastModified": 1731060864, - "narHash": "sha256-aYE7oAYZ+gPU1mPNhM0JwLAQNgjf0/JK1BF1ln2KBgk=", + "lastModified": 1730751873, + "narHash": "sha256-sdY29RWz0S7VbaoTwSy6RummdHKf0wUTaBlqPxrtvmQ=", "owner": "nix-community", "repo": "disko", - "rev": "5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f", + "rev": "856a2902156ba304efebd4c1096dbf7465569454", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1731057136, - "narHash": "sha256-/E0UgOD6LnDfJPqCwqa1WVEgwDQ6NXXH+Wq89cMUris=", + "lastModified": 1730970854, + "narHash": "sha256-PvStjAOzvb3Ta9lUkPtbXKE3HJ+4/zsWvHJFO/mzD2o=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "2313c4189eaef014d01fb260313f58554ddb5e31", + "rev": "83b6f9732eaf48f94d8ad6baa5cc2bf82bc3d3ff", "type": "github" }, "original": { @@ -218,27 +218,6 @@ } }, "flake-parts_2": { - "inputs": { - "nixpkgs-lib": [ - "lix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" }, @@ -256,7 +235,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nixThePlanet", @@ -277,7 +256,7 @@ "type": "indirect" } }, - "flake-parts_5": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_3" }, @@ -432,7 +411,7 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_6" }, "locked": { @@ -592,46 +571,19 @@ "lix": { "flake": false, "locked": { - "lastModified": 1728951119, - "narHash": "sha256-vUBgL8zJBDyj2serxdEVbNqe6pBN4YgWwhtg3XP8mpQ=", + "lastModified": 1730938523, + "narHash": "sha256-UAh8hocN7Vdl+sXxuToL6Cm1TsMHBpcEmHy+l5xFrMk=", "ref": "refs/heads/main", - "rev": "f6077314fa6aff862758095bb55fe844e9162a1d", - "revCount": 16344, + "rev": "72cce7be3f8031ccf6dc9d3c69ba19068b3bd21f", + "revCount": 16454, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, "original": { - "rev": "f6077314fa6aff862758095bb55fe844e9162a1d", "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" } }, - "lix-eval-jobs": { - "inputs": { - "flake-parts": "flake-parts_2", - "lix": [ - "lix" - ], - "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1723579251, - "narHash": "sha256-xnHtfw0gRhV+2S9U7hQwvp2klTy1Iv7FlMMO0/WiMVc=", - "ref": "refs/heads/main", - "rev": "42a160bce2fd9ffebc3809746bc80cc7208f9b08", - "revCount": 609, - "type": "git", - "url": "https://git.lix.systems/lix-project/nix-eval-jobs" - }, - "original": { - "type": "git", - "url": "https://git.lix.systems/lix-project/nix-eval-jobs" - } - }, "lix-module": { "inputs": { "flake-utils": "flake-utils", @@ -699,27 +651,6 @@ "type": "github" } }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "lix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1720066371, - "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, "nix-on-droid": { "inputs": { "home-manager": "home-manager_2", @@ -748,11 +679,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1731032247, - "narHash": "sha256-OjLft7fwkmiRLXQsGAudGFZxEYXOT0nHwrQ9GbsBqJ4=", + "lastModified": 1730980823, + "narHash": "sha256-nUSlnYSeg4N18LByLw8luEvrV+8Hwgddh9Bp13mo3wA=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "2fbf4a8417c28cf45bae6e6e97248cbbd9b78632", + "rev": "fa7b46fa7716d0ff1abaa59ee2472ab25ad07188", "type": "github" }, "original": { @@ -763,7 +694,7 @@ }, "nixThePlanet": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_2", "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ "nixpkgs" @@ -1222,13 +1153,13 @@ "rock5b": { "inputs": { "fan-control": "fan-control", - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts_4", "kernel-src": "kernel-src", "nixpkgs": "nixpkgs_8", "nixpkgs-kernel": "nixpkgs-kernel", "panfork": "panfork", "tow-boot": "tow-boot", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" }, "locked": { "lastModified": 1685695782, @@ -1258,7 +1189,6 @@ "impermanence": "impermanence", "lanzaboote": "lanzaboote", "lix": "lix", - "lix-eval-jobs": "lix-eval-jobs", "lix-module": "lix-module", "mobile-nixos": "mobile-nixos", "nix-on-droid": "nix-on-droid", @@ -1267,7 +1197,7 @@ "nixosHardware": "nixosHardware", "nixpkgs": "nixpkgs_7", "rock5b": "rock5b", - "treefmt-nix": "treefmt-nix_3", + "treefmt-nix": "treefmt-nix_2", "vscode-server": "vscode-server" } }, @@ -1393,27 +1323,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "lix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1723454642, - "narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "349de7bc435bdff37785c2466f054ed1766173be", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { "inputs": { "nixpkgs": [ "rock5b", @@ -1434,7 +1343,7 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index e62a744..72b2a1f 100644 --- a/flake.nix +++ b/flake.nix @@ -38,7 +38,7 @@ }; nix-on-droid.url = "github:nix-community/nix-on-droid"; lix = { - url = "git+https://git@git.lix.systems/lix-project/lix?rev=f6077314fa6aff862758095bb55fe844e9162a1d"; # FIXME update + url = "git+https://git@git.lix.systems/lix-project/lix"; flake = false; }; lix-module = { @@ -46,11 +46,6 @@ inputs.lix.follows = "lix"; inputs.nixpkgs.follows = "nixpkgs"; }; - lix-eval-jobs = { - url = "git+https://git.lix.systems/lix-project/nix-eval-jobs"; - inputs.lix.follows = "lix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; mobile-nixos = { url = "github:NixOS/mobile-nixos"; flake = false; diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 154a4bc..1dee394 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -1,10 +1,11 @@ ;; package --- My Emacs config -*- lexical-binding:t -*- ;; Author: Andrea Ciceri ;;; Commentary: -;; TODO org goodies -;; TODO understand how to configure cape -;; TODO org-roam-protocol to capture notes from the browser -;; TODO attach documents (like PDFs) to my Zettelkasten notes +;; TODO +;; - org-roam +;; - org goodies +;; - persp-mode? +;; - understand how to configure cape ;;; Code: @@ -719,13 +720,7 @@ This is meant to be an helper to be called from the window manager." (set-face-attribute face nil :inherit 'fixed-pitch)) (org-babel-do-load-languages - 'org-babel-load-languages '((haskell . t))) - - (defun ccr/org-attach-save-file-list-to-property (dir) - "Save list of attachments to ORG_ATTACH_FILES property." - (when-let* ((files (org-attach-file-list dir))) - (org-set-property "ORG_ATTACH_FILES" (mapconcat #'identity files ", ")))) - (add-hook 'org-attach-after-change-hook #'ccr/org-attach-save-file-list-to-property)) + 'org-babel-load-languages '((haskell . t)))) (use-package org-agenda :custom @@ -769,7 +764,7 @@ This is meant to be an helper to be called from the window manager." '( ("d" "Generic entry" entry "* %?" - :target (file+head "%<%Y-%m-%d>.org" "#+TITLE: %<%Y-%m-%d>")) + :target (file+head "%<%Y-%m-%d>.org" "#+title %<%Y-%m-%d>")) ("b" "Billable entry" entry "* TODO ${Entry} :billable:${Client}:\n:PROPERTIES:\n:SPENT: ${Spent}\n:END:\n%?" :target (file+head "%<%Y-%m-%d>.org" "#+title %<%Y-%m-%d>") @@ -874,7 +869,7 @@ This is meant to be an helper to be called from the window manager." (end-pos (line-end-position))) (gptel-request (buffer-substring-no-properties start-pos end-pos) ;the prompt - :system "You are proficient with emacs shell (eshell), translate the following to something I could directly prompt to the shell. Your responses should only be code, without explanation or formatting or quoting." + :system "You are proficient with emacs shell (eshell), translate the following to something I could directly prompt to the shell. Your responses should only be code, without explanation or formatting." :buffer (current-buffer) :context (cons (set-marker (make-marker) start-pos) (set-marker (make-marker) end-pos)) diff --git a/hmModules/hyprland/default.nix b/hmModules/hyprland/default.nix index bcc035e..92ffe67 100644 --- a/hmModules/hyprland/default.nix +++ b/hmModules/hyprland/default.nix @@ -1,4 +1,8 @@ -{ config, pkgs, ... }: +{ + config, + pkgs, + ... +}: let screenshotScript = pkgs.writeShellScriptBin "screenshot.sh" '' filename="$HOME/shots/$(date --iso-8601=seconds).png" @@ -24,7 +28,7 @@ in ../swayidle ../gammastep # ../wezterm - # ../wayvnc + ../wayvnc ../swaync ../foot ]; @@ -57,11 +61,11 @@ in name = "Adwaita"; package = pkgs.adwaita-icon-theme; }; - cursorTheme = { - name = "catppuccin-mocha-sapphire"; - package = pkgs.catppuccin-cursors; - size = 40; - }; + # cursorTheme = { + # name = "catppuccin-mocha-sapphire"; + # package = pkgs.catppuccin-cursors; + # size = 48; + # }; }; qt = { diff --git a/hmModules/hyprland/hyprland.conf b/hmModules/hyprland/hyprland.conf index 1243b85..79ef97a 100644 --- a/hmModules/hyprland/hyprland.conf +++ b/hmModules/hyprland/hyprland.conf @@ -5,9 +5,9 @@ cursor { } env = HYPRCURSOR_THEME,catppuccin-mocha-sapphire -env = HYPRCURSOR_SIZE,40 +env = HYPRCURSOR_SIZE,48 env = XCURSOR_THEME,catppuccin-mocha-sapphire -env = XCURSOR_SIZE,40 +env = XCURSOR_SIZE,48 $mod = SUPER @@ -35,7 +35,6 @@ bind = $mod, t, exec, footclient $SHELL bind = $mod, RETURN, exec, emacsclient -c --eval "(ccr/start-eshell)" bind = $mod, m, exec, emacsclient -c --eval '(notmuch-search "tag:new")' bind = $mod, g, exec, emacsclient -c --eval '(switch-to-buffer (gptel "*ChatGPT*"))' -bind = $mod, c, exec, emacsclient -c --eval '(org-roam-dailies-capture-today)' bind = $mod, d, exec, fuzzel --background-color=253559cc --border-radius=5 --border-width=0 bind = $mod, s, exec, screenshot.sh bind = $mod, n, exec, logseq diff --git a/hosts/kirk/default.nix b/hosts/kirk/default.nix index 3b17a67..e2321fa 100644 --- a/hosts/kirk/default.nix +++ b/hosts/kirk/default.nix @@ -36,7 +36,9 @@ "promtail" "syncthing" ] - ++ [ ./disko.nix ]; + ++ [ + ./disko.nix + ]; ccr = { enable = true; @@ -84,9 +86,11 @@ "usb_storage" "sd_mod" ]; - boot.kernelModules = [ "kvm-intel" ]; + boot.kernelModules = [ + "kvm-intel" + ]; - boot.kernelPackages = pkgs.linuxPackages; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_10; boot.loader.efi.canTouchEfiVariables = true; boot.loader.systemd-boot = { diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index fd17130..0501993 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -43,7 +43,9 @@ "prometheus-exporters" "promtail" ] - ++ [ ./disko.nix ]; + ++ [ + ./disko.nix + ]; ccr = { enable = true; @@ -124,17 +126,17 @@ })) ]; - # systemd.services.ddcci = { - # script = '' - # echo 'ddcci 0x37' > /sys/bus/i2c/devices/i2c-2/new_device - # ''; - # wantedBy = [ "graphical.target" ]; - # restartIfChanged = false; - # serviceConfig = { - # Type = "oneshot"; - # RemainAfterExit = true; - # }; - # }; + systemd.services.ddcci = { + script = '' + echo 'ddcci 0x37' > /sys/bus/i2c/devices/i2c-2/new_device + ''; + wantedBy = [ "graphical.target" ]; + restartIfChanged = false; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; boot.loader.efi.canTouchEfiVariables = true; boot.loader.systemd-boot = { @@ -146,7 +148,7 @@ configurationLimit = 20; }; - boot.kernelPackages = pkgs.linuxPackages; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_10; networking.hostId = "5b02e763"; diff --git a/modules/nix/default.nix b/modules/nix/default.nix index 84e36c4..cf855e4 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -5,14 +5,6 @@ ... }: { - nixpkgs.overlays = [ - (final: _: { - nix-eval-job = fleetFlake.inputs.lix-eval-jobs.packages.${final.system}.nix-eval-jobs // { - nix = final.nix; - }; - }) - ]; - nix = { optimise.automatic = true; diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index 2f30f68..ea483fd 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -2,114 +2,89 @@ pkgs: epkgs: let inherit (epkgs) melpaPackages nongnuPackages elpaPackages; - buildEmacsPackage = - args: - epkgs.trivialBuild { - pname = args.name; - inherit (args) src; - version = args.src.rev; - propagatedUserEnvPkgs = args.deps; - buildInputs = args.deps; - }; - - # *Attrset* containig extra emacs packages - extraPackages = { - combobulate = buildEmacsPackage { - name = "combobulate"; - src = pkgs.fetchFromGitHub { - owner = "mickeynp"; - repo = "combobulate"; - rev = "e9c5be84062e8183f556d7133d5a477a57e37e51"; - hash = "sha256-r6jObsYx7RRTJUmrCN5h3+0WcHqJA67emhr4/W3rBrM="; - }; - deps = [ ]; - }; - }; + # *Attrset* containig extra emacs packages from flake inputs # *List* containing emacs packages from (M)ELPA mainPackages = - builtins.filter - # if an extra package has the same name then give precedence to it - (package: !builtins.elem package.pname (builtins.attrNames extraPackages)) - ( - with melpaPackages; - [ - meow - meow-tree-sitter - dracula-theme - nord-theme - catppuccin-theme - modus-themes - # solaire-mode - nerd-icons - nerd-icons-completion - nerd-icons-ibuffer - nerd-icons-dired - ligature - treemacs-nerd-icons - eshell-syntax-highlighting - fish-completion # fish completion for eshell - eshell-prompt-extras - eshell-atuin - eshell-command-not-found - clipetty - sideline - consult-eglot - # sideline-flymake - rainbow-delimiters - vertico - marginalia - consult - orderless - embark - embark-consult - magit - magit-delta - magit-todos - difftastic - with-editor - diff-hl - corfu - cape - which-key - nix-mode - nix-ts-mode - agenix - zig-mode - unisonlang-mode - purescript-mode - dhall-mode - envrc - inheritenv - popper - paredit - yaml-mode - hl-todo - markdown-mode - haskell-mode - terraform-mode - diredfl - org-modern - org-roam - org-roam-ql - org-roam-ui - visual-fill-column - consult-org-roam - pass - password-store-otp - eldoc-box - go-translate - notmuch - consult-notmuch - poly-org - casual - gptel - agenix - solidity-mode - # org-re-reveal # FIXME very not nice hash mismatch when building - # gptel # TODO uncomment when there will be a new release including GPT-4o - ] - ) + # builtins.filter + # if an extra package has the same name then give precedence to it + # (package: ! builtins.elem package.pname (builtins.attrNames extraPackages)) + (with melpaPackages; [ + meow + meow-tree-sitter + dracula-theme + nord-theme + catppuccin-theme + modus-themes + # solaire-mode + nerd-icons + nerd-icons-completion + nerd-icons-ibuffer + nerd-icons-dired + ligature + treemacs-nerd-icons + eshell-syntax-highlighting + fish-completion # fish completion for eshell + eshell-prompt-extras + eshell-atuin + eshell-command-not-found + clipetty + sideline + consult-eglot + # sideline-flymake + rainbow-delimiters + vertico + marginalia + consult + orderless + embark + embark-consult + magit + magit-delta + magit-todos + difftastic + with-editor + diff-hl + corfu + cape + which-key + nix-mode + nix-ts-mode + agenix + zig-mode + unisonlang-mode + purescript-mode + dhall-mode + envrc + inheritenv + popper + paredit + yaml-mode + hl-todo + markdown-mode + haskell-mode + terraform-mode + diredfl + org-modern + org-roam + org-roam-ql + org-roam-ui + visual-fill-column + consult-org-roam + pass + password-store-otp + eldoc-box + go-translate + notmuch + consult-notmuch + poly-org + casual-calc + gptel + agenix + solidity-mode + # org-re-reveal # FIXME very not nice hash mismatch when building + # gptel # TODO uncomment when there will be a new release including GPT-4o + ]) ++ (with elpaPackages; [ delight kind-icon @@ -123,4 +98,13 @@ let haskell-ts-mode ]); in -mainPackages ++ (builtins.attrValues extraPackages) +mainPackages +# ++ (builtins.attrValues extraPackages) +# Playing with EAF +++ [ + # Disabled because pymupdf was broken + # (pkgs.callPackage ./eaf.nix { + # inherit (epkgs) melpaBuild; + # inherit (melpaPackages) ctable deferred epc s; + # }) +]