diff --git a/flake.lock b/flake.lock index a05c55f..081a5a3 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1739934729, - "narHash": "sha256-PcrLk10meIJICzUJqtCMOJxoITzbH52fZg2XAB7SSsM=", + "lastModified": 1741287139, + "narHash": "sha256-lpSXdmXj6fEo3DwImX6+R/cSakuIHWJ+gLGw1ZcVOXs=", "owner": "catppuccin", "repo": "nix", - "rev": "b1ff2a638afa827f1473498190a2c1cae1cf41cf", + "rev": "2884670e4deddc862988ba25548211ff13a5a742", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "crane": { "locked": { - "lastModified": 1739936662, - "narHash": "sha256-x4syUjNUuRblR07nDPeLDP7DpphaBVbUaSoeZkFbGSk=", + "lastModified": 1741148495, + "narHash": "sha256-EV8KUaIZ2/CdBXlutXrHoZYbWPeB65p5kKZk71gvDRI=", "owner": "ipetkov", "repo": "crane", - "rev": "19de14aaeb869287647d9461cbd389187d8ecdb7", + "rev": "75390a36cd0c2cdd5f1aafd8a9f827d7107f2e53", "type": "github" }, "original": { @@ -122,11 +122,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1741149197, - "narHash": "sha256-ctL0hvG9EMNW60Uz/EOX7QpmbDHBji4WtAgKl83E7t4=", + "lastModified": 1741310221, + "narHash": "sha256-R2HrOkqshpuPlUE2480xCPAf4xuHaXWdGtM0bByigYE=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "6429ee53a1c1199637602275c00aca475d8e8057", + "rev": "cb747e4bc76c308d2ece3721bf07f534d10cb196", "type": "github" }, "original": { @@ -191,11 +191,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1740872218, + "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "3876f6b87db82f33775b1ef5ea343986105db764", "type": "github" }, "original": { @@ -387,11 +387,11 @@ ] }, "locked": { - "lastModified": 1741174782, - "narHash": "sha256-dYRebJk58/d5Ej1G6xTOadTfG6tU5zFgXYrLsRJlrgw=", + "lastModified": 1741217763, + "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", "owner": "nix-community", "repo": "home-manager", - "rev": "def0dbbcea715d4514ca343ab4d6d7f3a1742da0", + "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", "type": "github" }, "original": { @@ -448,11 +448,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1741001137, - "narHash": "sha256-XxWib5eI3rgMPA4VzDHOx89WT76IN/ZNb+votz5gakw=", + "lastModified": 1741259028, + "narHash": "sha256-QWgGXe9Ai8+hSwNEAqLjZoAvLwV3ywDzT+XBpfMOzuU=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "cc9786aa8158437facead0d8e21ac0c03be91dc8", + "rev": "3a3ed972151121c8b159eb40e0be21146270e73b", "type": "github" }, "original": { @@ -464,11 +464,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1741082941, - "narHash": "sha256-mxMbmNSXLZ0G+4uPEXCodjRJffqh/Jq4X5pgFuQFZB0=", + "lastModified": 1741212440, + "narHash": "sha256-UrNM90hCGa4Ee8R7v6oyBL9Mqi5XbyNdUAireOzgzGs=", "ref": "refs/heads/main", - "rev": "ca89e431a31527a014bfd0d529da2a8099027a5f", - "revCount": 17577, + "rev": "f61bcc6ca9a90f29d82e51b3e545fdf2bcfe0a08", + "revCount": 17618, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -569,11 +569,11 @@ }, "nixosHardware": { "locked": { - "lastModified": 1740646007, - "narHash": "sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE=", + "lastModified": 1741325094, + "narHash": "sha256-RUAdT8dZ6k/486vnu3tiNRrNW6+Q8uSD2Mq7gTX4jlo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "009b764ac98a3602d41fc68072eeec5d24fc0e49", + "rev": "b48cc4dab0f9711af296fc367b6108cf7b8ccb16", "type": "github" }, "original": { @@ -644,11 +644,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1740932899, - "narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=", + "lastModified": 1741196730, + "narHash": "sha256-0Sj6ZKjCpQMfWnN0NURqRCQn2ob7YtXTAOTwCuz7fkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347", + "rev": "48913d8f9127ea6530a2a2f1bd4daa1b8685d8a3", "type": "github" }, "original": { @@ -692,11 +692,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1741010256, - "narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=", + "lastModified": 1741173522, + "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", "type": "github" }, "original": { @@ -723,17 +723,17 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1741010256, - "narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=", + "lastModified": 1736701207, + "narHash": "sha256-jG/+MvjVY7SlTakzZ2fJ5dC3V1PrKKrUEOEE30jrOKA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246", + "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", + "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6", "type": "github" } }, @@ -802,11 +802,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1740915799, + "narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "42b1ba089d2034d910566bf6b40830af6b8ec732", "type": "github" }, "original": { @@ -886,11 +886,11 @@ ] }, "locked": { - "lastModified": 1740364262, - "narHash": "sha256-X5EtT29uEtXN2E4bDiDU2HGBdmFHjHf1KbP6iKP0cmg=", + "lastModified": 1741228283, + "narHash": "sha256-VzqI+k/eoijLQ5am6rDFDAtFAbw8nltXfLBC6SIEJAE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "7c5892ad87b90d72668964975eebd4e174ff6204", + "rev": "38e9826bc4296c9daf18bc1e6aa299f3e932a403", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4b6946e..847a775 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { flakeParts.url = "github:hercules-ci/flake-parts"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/ed4a395ea001367c1f13d34b1e01aa10290f67d6"; # FIXME update (check if screen sharing works!) nixosHardware.url = "github:NixOS/nixos-hardware"; homeManager = { url = "github:nix-community/home-manager"; diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index a09038d..9987cbf 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -733,7 +733,7 @@ :hook ((org-mode . variable-pitch-mode) (org-mode . visual-line-mode) (org-mode . visual-fill-column-mode)) - :custom ((org-log-done 'time) + :custom ((org-log-done nil) (org-return-follows-link t) (org-hide-emphasis-markers t) (visual-fill-column-center-text t) @@ -758,7 +758,6 @@ (org-ellipsis "…") ) :bind (("C-c o l" . org-store-link) - ("C-c o a" . org-agenda) ("C-c o c" . org-capture) ("C-c b o" . org-switchb)) :config @@ -787,6 +786,7 @@ This is meant to be an helper to be called from the window manager." (add-hook 'org-attach-after-change-hook #'ccr/org-attach-save-file-list-to-property)) (use-package org-agenda + :after org-super-agenda :custom (org-agenda-files '("~/org")) (org-agenda-tags-column 0) @@ -797,7 +797,51 @@ This is meant to be an helper to be called from the window manager." " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")) (org-agenda-current-time-string "◀── now ─────────────────────────────────────────────────") - :bind (("C-c o a" . org-agenda))) + (org-super-agenda-groups + '(;; Each group has an implicit boolean OR operator between its selectors. + (:name "Today" ; Optionally specify section name + :time-grid t ; Items that appear on the time grid + :todo "TODAY") ; Items that have this TODO keyword + (:name "Important" + ;; Single arguments given alone + :tag "bills" + :priority "A") + ;; Set order of multiple groups at once + (:order-multi (2 (:name "Shopping in town" + ;; Boolean AND group matches items that match all subgroups + :and (:tag "shopping" :tag "@town")) + (:name "Food-related" + ;; Multiple args given in list with implicit OR + :tag ("food" "dinner")) + (:name "Personal" + :habit t + :tag "personal") + (:name "Space-related (non-moon-or-planet-related)" + ;; Regexps match case-insensitively on the entire entry + :and (:regexp ("space" "NASA") + ;; Boolean NOT also has implicit OR between selectors + :not (:regexp "moon" :tag "planet"))))) + ;; Groups supply their own section names when none are given + (:todo "WAITING" :order 8) ; Set order of this section + (:todo ("SOMEDAY" "TO-READ" "CHECK" "TO-WATCH" "WATCHING") + ;; Show this group at the end of the agenda (since it has the + ;; highest number). If you specified this group last, items + ;; with these todo keywords that e.g. have priority A would be + ;; displayed in that group instead, because items are grouped + ;; out in the order the groups are listed. + :order 9) + (:priority<= "B" + ;; Show this section after "Today" and "Important", because + ;; their order is unspecified, defaulting to 0. Sections + ;; are displayed lowest-number-first. + :order 1) + ;; After the last group, the agenda will display items that didn't + ;; match any of these groups, with the default order position of 99 + )) + :bind (("C-c o a" . org-agenda)) + :config + (org-super-agenda-mode) + ) (use-package org-modern :after org diff --git a/hmModules/niri/config.kdl b/hmModules/niri/config.kdl index d06c32d..09dacf3 100644 --- a/hmModules/niri/config.kdl +++ b/hmModules/niri/config.kdl @@ -222,6 +222,17 @@ layout { // top 64 // bottom 64 } + + // shadow { + // on + // } +} + +layer-rule { + match namespace="^rofi$" + // shadow { + // on + // } } // Add lines like this to spawn processes at startup. diff --git a/hmModules/pantalaimon/default.nix b/hmModules/pantalaimon/default.nix index 2c0a520..a6f2b8b 100644 --- a/hmModules/pantalaimon/default.nix +++ b/hmModules/pantalaimon/default.nix @@ -1,13 +1,27 @@ +{ pkgs, lib, ... }: { services.pantalaimon = { enable = true; + package = pkgs.pantalaimon.overrideAttrs { + pytestCheckPhase = "echo skip pytest"; + }; settings = { + Default = { + LogLevel = "Debug"; + SSL = true; + }; local-matrix = { - Homeserver = "https://nixos.dev"; - ListenAddress = "127.0.0.1"; + Homeserver = "https://matrix.aciceri.dev"; + # Homeserver = "https://matrix.nixos.dev/_matrix/client"; + # Homeserver = "https://matrix.nixos.dev"; + ListenAddress = "localhost"; ListenPort = 8008; + # SSL = false; + UseKeyring = false; + # IgnoreVerification = true; }; }; }; + systemd.user.services.pantalaimon.Unit.Requires = [ "dbus.socket" ]; } diff --git a/hosts/default.nix b/hosts/default.nix index b9d2db1..c17d45f 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -117,6 +117,7 @@ group = "forgejo"; }; "firefly-app-key".owner = "firefly-iii"; + "matrix-registration-shared-secret".owner = "matrix-synapse"; }; }; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 50aa7a4..be6c8b7 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -95,6 +95,7 @@ "discord" "ib-tws" "zoom" + "pantalaimon" ]; extraGroups = [ "plugdev" ]; backupPaths = [ ]; diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index e69404e..d15f43a 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -33,6 +33,7 @@ "atticd" "jellyfin" "firefly" + "matrix" ] ++ [ ./disko.nix diff --git a/modules/cloudflare-dyndns/default.nix b/modules/cloudflare-dyndns/default.nix index 77f1e46..071a22b 100644 --- a/modules/cloudflare-dyndns/default.nix +++ b/modules/cloudflare-dyndns/default.nix @@ -17,6 +17,7 @@ "jelly.aciceri.dev" "firefly.aciceri.dev" "import.firefly.aciceri.dev" + "matrix.aciceri.dev" ]; apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path; }; diff --git a/modules/common/default.nix b/modules/common/default.nix index c802ddd..88bd936 100644 --- a/modules/common/default.nix +++ b/modules/common/default.nix @@ -1,6 +1,7 @@ { lib, fleetModules, + pkgs, ... }: { @@ -15,4 +16,12 @@ users.mutableUsers = false; i18n.defaultLocale = "en_US.UTF-8"; nixpkgs.config.allowUnfree = true; # Forgive me Mr. Stallman :( + system.switch.enableNg = true; + + environment.systemPackages = [ pkgs.btop ]; + + # FIXME not the best place + nixpkgs.config.permittedInsecurePackages = [ + "olm-3.2.16" + ]; } diff --git a/modules/greetd/default.nix b/modules/greetd/default.nix index 2f9707e..57b1acb 100644 --- a/modules/greetd/default.nix +++ b/modules/greetd/default.nix @@ -5,24 +5,24 @@ }: let sessions = builtins.concatStringsSep ":" [ - (pkgs.writeTextFile { - name = "xorg-session.desktop"; - destination = "/hyprland-session.desktop"; - text = '' - [Desktop Entry] - Name=Hyprland - Exec=Hyprland - ''; - }) - (pkgs.writeTextFile { - name = "xorg-session.desktop"; - destination = "/cosmic-session.desktop"; - text = '' - [Desktop Entry] - Name=Cosmic - Exec=cosmic-session - ''; - }) + # (pkgs.writeTextFile { + # name = "xorg-session.desktop"; + # destination = "/hyprland-session.desktop"; + # text = '' + # [Desktop Entry] + # Name=Hyprland + # Exec=Hyprland + # ''; + # }) + # (pkgs.writeTextFile { + # name = "xorg-session.desktop"; + # destination = "/cosmic-session.desktop"; + # text = '' + # [Desktop Entry] + # Name=Cosmic + # Exec=cosmic-session + # ''; + # }) (pkgs.writeTextFile { name = "xorg-session.desktop"; destination = "/niri-session.desktop"; diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index c7a2741..c7d115b 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -7,7 +7,7 @@ let clientConfig = { "m.homeserver".base_url = "https://matrix.aciceri.dev"; - "org.matrix.msc3575.proxy".url = "https://syncv3.matrix.aciceri.dev"; + # "org.matrix.msc3575.proxy".url = "https://syncv3.matrix.aciceri.dev"; }; serverConfig."m.server" = "matrix.aciceri.dev:443"; mkWellKnown = data: '' @@ -38,13 +38,13 @@ in services.postgresql = { enable = true; - initialScript = pkgs.writeText "synapse-init.sql" '' - CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; - CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" - TEMPLATE template0 - LC_COLLATE = "C" - LC_CTYPE = "C"; - ''; + # initialScript = pkgs.writeText "synapse-init.sql" '' + # CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; + # CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" + # TEMPLATE template0 + # LC_COLLATE = "C" + # LC_CTYPE = "C"; + # ''; }; systemd.tmpfiles.rules = [ @@ -80,27 +80,27 @@ in extraConfigFiles = [ config.age.secrets.matrix-registration-shared-secret.path ]; }; - backup.paths = [ - config.services.matrix-synapse.dataDir - "/var/backup/postgresql/matrix-synapse.sql.gz" - ]; + # backup.paths = [ + # config.services.matrix-synapse.dataDir + # "/var/backup/postgresql/matrix-synapse.sql.gz" + # ]; - services.postgresqlBackup = { - enable = true; - databases = [ "matrix-synapse" ]; - }; + # services.postgresqlBackup = { + # enable = true; + # databases = [ "matrix-synapse" ]; + # }; - services.matrix-sliding-sync = { - enable = true; - environmentFile = config.age.secrets.matrix-sliding-sync-secret.path; - settings = { - SYNCV3_SERVER = "http://localhost:8008"; - }; - }; + # services.matrix-sliding-sync = { + # enable = true; + # environmentFile = config.age.secrets.matrix-sliding-sync-secret.path; + # settings = { + # SYNCV3_SERVER = "http://localhost:8008"; + # }; + # }; - services.nginx.virtualHosts."syncv3.matrix.aciceri.dev" = { - enableACME = true; - forceSSL = true; - locations."/".proxyPass = config.services.matrix-sliding-sync.settings.SYNCV3_SERVER; - }; + # services.nginx.virtualHosts."syncv3.matrix.aciceri.dev" = { + # enableACME = true; + # forceSSL = true; + # locations."/".proxyPass = config.services.matrix-sliding-sync.settings.SYNCV3_SERVER; + # }; } diff --git a/modules/pipewire/default.nix b/modules/pipewire/default.nix index 3e324a1..51d78cf 100644 --- a/modules/pipewire/default.nix +++ b/modules/pipewire/default.nix @@ -1,6 +1,11 @@ { lib, ... }: { - services.pipewire.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + }; services.pulseaudio = { enable = false; diff --git a/modules/syncthing/default.nix b/modules/syncthing/default.nix index b1b9857..2b2d607 100644 --- a/modules/syncthing/default.nix +++ b/modules/syncthing/default.nix @@ -20,7 +20,7 @@ ]; }; sisko = { - id = "TOC7QXZ-JLB4LYP-VNIJAV5-DCKVGFN-UE45SPX-PPFJHSG-O3UHFCK-2PEMAQ6"; + id = "QE6V7PR-VHMAHHS-GHD4ZI3-IBB7FEM-M6EQZBX-YFCWDAK-YCYL6VO-NNRMXQK"; addresses = [ "tcp://sisko.fleet" ]; diff --git a/modules/xdg/default.nix b/modules/xdg/default.nix index 078ee8e..04c145e 100644 --- a/modules/xdg/default.nix +++ b/modules/xdg/default.nix @@ -10,6 +10,8 @@ xdg-desktop-portal-gnome xdg-desktop-portal kdePackages.xdg-desktop-portal-kde + libsForQt5.xdg-desktop-portal-kde + gnome-keyring ]; extraPortals = with pkgs; [ xdg-desktop-portal-wlr @@ -18,6 +20,7 @@ xdg-desktop-portal-gnome xdg-desktop-portal kdePackages.xdg-desktop-portal-kde + gnome-keyring ]; xdgOpenUsePortal = true; wlr.enable = true; diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index 74b0068..f726e67 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -148,7 +148,17 @@ let embark embark-consult magit - magit-delta + (magit-delta.override (old: { + # FIXME why is this needed? + melpaBuild = + args: + old.melpaBuild ( + args + // { + packageRequires = (args.packageRequires or [ ]) ++ [ dash ]; + } + ); + })) magit-todos difftastic with-editor @@ -195,6 +205,7 @@ let aggressive-indent mixed-pitch visual-replace + org-super-agenda # org-re-reveal # FIXME very not nice hash mismatch when building ] )