From 3ad33b734aa7891707b0a4a68d3cf691f356931b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madeleine=20Sydney=20=C5=9Alaga?= Date: Sun, 7 Jun 2026 13:26:45 -0600 Subject: [PATCH] chore: bump all --- flake.lock | 508 ++++++------ flake.nix | 10 +- hosts/deertopia/configuration.nix | 2 +- hosts/sydpc/configuration.nix | 2 + modules/home/dank-material-shell.nix | 25 - modules/home/guile.nix | 15 + modules/home/impermanence.nix | 4 +- modules/home/steam.nix | 2 +- modules/home/sydpkgs.nix | 2 +- modules/home/users/crumb/firefox.nix | 31 +- modules/home/users/crumb/niri.nix | 4 - .../home/users/msyds/dank-material-shell.nix | 722 ++++++++---------- modules/nixos/dank-material-shell.nix | 33 +- modules/nixos/deertopia/vaultwarden.nix | 4 +- modules/nixos/impermanence/rollback.nix | 93 ++- modules/nixos/niri.nix | 2 +- outputs/homeConfigurations.nix | 3 +- outputs/nixosConfigurations.nix | 2 + users/msyds/default.nix | 3 +- 19 files changed, 741 insertions(+), 726 deletions(-) delete mode 100644 modules/home/dank-material-shell.nix create mode 100644 modules/home/guile.nix diff --git a/flake.lock b/flake.lock index 7cbaa79..37bae8d 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1760703920, - "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", + "lastModified": 1776754714, + "narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "d646af9b7d14bff08824538164af99d0c521b185", + "rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581", "type": "github" }, "original": { @@ -76,11 +76,11 @@ ] }, "locked": { - "lastModified": 1762095388, - "narHash": "sha256-7Q8LtcvKWHbP8znARRTOY2tpU5WoV6FHwp5TZJOI8Us=", + "lastModified": 1781648708, + "narHash": "sha256-i9ggnF31Uq3tpdp6ZMe7YAOxjTfkB7S4WjSBfXV0uMk=", "owner": "9001", "repo": "copyparty", - "rev": "ac085b8149ff50e03d260128596dd130ed1c7cae", + "rev": "d33d11321f823f58a9109298ef886044f63b02ce", "type": "github" }, "original": { @@ -94,11 +94,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1741786315, - "narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=", + "lastModified": 1781152676, + "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", "owner": "nix-community", "repo": "disko", - "rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de", + "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", "type": "github" }, "original": { @@ -107,17 +107,39 @@ "type": "github" } }, + "dms": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "quickshell": "quickshell" + }, + "locked": { + "lastModified": 1777431599, + "narHash": "sha256-g6r/Gx8PTDzO3jCNzzySA+Ff1lmLF9nDlMCNyyoQjoE=", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "rev": "eb5afcdc40ea5446c27e18552ff4a19f9daf9484", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "ref": "stable", + "repo": "DankMaterialShell", + "type": "github" + } + }, "emacs-overlay": { "inputs": { "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1742838319, - "narHash": "sha256-daVj+uHpHvndui9DOxytAjVP7Kx8lG3/W3KPNR0EG/0=", + "lastModified": 1782325883, + "narHash": "sha256-yiZgLJdCJyxxvYo4vvEk9B9Q5gbruM/KTxcw7/NjuGQ=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "cb257a1d672f75f2f3e375fe1080216131dd1fb0", + "rev": "fcfa8883e001877fc0d4592244596f9e76f83b95", "type": "github" }, "original": { @@ -129,11 +151,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1764873433, - "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=", + "lastModified": 1779670703, + "narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92", + "rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9", "type": "github" }, "original": { @@ -161,11 +183,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1777678872, - "narHash": "sha256-EPIFsulyon7Z1vLQq5Fk64GR8L7cQsT+IPhcsukVbgk=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "5250617bffd85403b14dbf43c3870e7f255d2c16", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -203,11 +225,11 @@ ] }, "locked": { - "lastModified": 1767609335, - "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "250481aafeb741edfe23d29195671c19b36b6dca", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -286,20 +308,18 @@ "gnome-shell": { "flake": false, "locked": { - "host": "gitlab.gnome.org", "lastModified": 1767737596, "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", "owner": "GNOME", "repo": "gnome-shell", "rev": "ef02db02bf0ff342734d525b5767814770d85b49", - "type": "gitlab" + "type": "github" }, "original": { - "host": "gitlab.gnome.org", "owner": "GNOME", - "ref": "gnome-49", "repo": "gnome-shell", - "type": "gitlab" + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", + "type": "github" } }, "home-manager": { @@ -307,11 +327,32 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1773608492, - "narHash": "sha256-QZteyExJYSQzgxqdsesDPbQgjctGG7iKV/6ooyQPITk=", + "lastModified": 1782233665, + "narHash": "sha256-h/xOtrByoA/Ak1lWHn0O1lVZz4qWYbwOSLQ8YSwQO0I=", "owner": "nix-community", "repo": "home-manager", - "rev": "9a40ec3b78fc688d0908485887d355caa5666d18", + "rev": "062581938b4a378a82dfbb294b494808157153a1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "impermanence", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768598210, + "narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", "type": "github" }, "original": { @@ -321,12 +362,16 @@ } }, "impermanence": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": "nixpkgs_4" + }, "locked": { - "lastModified": 1737831083, - "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", + "lastModified": 1769548169, + "narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=", "owner": "nix-community", "repo": "impermanence", - "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", + "rev": "7b1d382faf603b6d264f58627330f9faa5cba149", "type": "github" }, "original": { @@ -339,17 +384,17 @@ "inputs": { "niri-stable": "niri-stable", "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixpkgs-stable": "nixpkgs-stable_2", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1772698812, - "narHash": "sha256-7+K/VaZ7TXUeUGSYshg8wC3UsRZHB+M4x6r38Q1B79c=", + "lastModified": 1781795508, + "narHash": "sha256-VKrApQ3WCkEe9D8DbaeFjGqLAh7zqYGYjbQYtY5ikxc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "5641625ef950f024e3e0e3f38bb91f876290c0be", + "rev": "493ce1e33e72f86312584f331c8cf52b3432ec99", "type": "github" }, "original": { @@ -378,11 +423,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1772207631, - "narHash": "sha256-Jkkg+KqshFO3CbTszVVpkKN2AOObYz+wMsM3ONo1z5g=", + "lastModified": 1781781064, + "narHash": "sha256-Ii/koEm/sRyg65qbAQWqEgboSEIhdH0EL4KglAc14p0=", "owner": "YaLTeR", "repo": "niri", - "rev": "e708f546153f74acf33eb183b3b2992587a701e5", + "rev": "49fc6117fd6c043adaa2ead316b82db5ed735d36", "type": "github" }, "original": { @@ -420,15 +465,15 @@ "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nixpkgs-nixcord": "nixpkgs-nixcord" }, "locked": { - "lastModified": 1778257733, - "narHash": "sha256-FPKWRBfH2Zowz2Q+vRqL8GKNRZHaa6L450Ys2CQtLDQ=", + "lastModified": 1782320240, + "narHash": "sha256-BZTrprmdOa0CZPhpMdKcTuYLhjaP2zhEORVPSrUfRV4=", "owner": "KaylorBen", "repo": "nixcord", - "rev": "1b1f027264ad08153b480d37f10007ee71048567", + "rev": "f775e367ee683756206df5bb860086eabbea07d1", "type": "github" }, "original": { @@ -438,12 +483,15 @@ } }, "nixos-hardware": { + "inputs": { + "nixpkgs": "nixpkgs_7" + }, "locked": { - "lastModified": 1773533765, - "narHash": "sha256-qonGfS2lzCgCl59Zl63jF6dIRRpvW3AJooBGMaXjHiY=", + "lastModified": 1782166108, + "narHash": "sha256-/EtnQBcKbsaCAGQ5VRcplrHRkR4ryqyLMpBfkVuG9Xw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f8e82243fd601afb9f59ad230958bd073795cbfe", + "rev": "875776f0252fcb8618bb948640a0d1f7a5b362be", "type": "github" }, "original": { @@ -454,11 +502,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741402956, - "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", + "lastModified": 1780930886, + "narHash": "sha256-rppURzHviaQN131F+nLiLdGfcb0uCd9gGP0E5+iw9MI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", + "rev": "8c3cede7ddc26bd659d2d383b5610efbd2c7a16e", "type": "github" }, "original": { @@ -485,43 +533,43 @@ }, "nixpkgs-nixcord": { "locked": { - "lastModified": 1777428379, - "narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=", + "lastModified": 1780453794, + "narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "755f5aa91337890c432639c60b6064bb7fe67769", + "rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.11", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1742751704, - "narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=", + "lastModified": 1782116945, + "narHash": "sha256-G3tw/IXmaH6IQ2upZvhuN9sG8CkuX+BLuJDpE8hz0Ds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092", + "rev": "34268251cf5547d39063f2c5ea9a196246f7f3a6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1772598333, - "narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=", + "lastModified": 1781509190, + "narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239", + "rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4", "type": "github" }, "original": { @@ -532,6 +580,38 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1780243769, + "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1756819007, + "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { "locked": { "lastModified": 1743568003, "narHash": "sha256-ZID5T65E8ruHqWRcdvZLsczWDOAWIE7om+vQOREwiX0=", @@ -549,11 +629,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742669843, - "narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=", + "lastModified": 1781577229, + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e5b653dff12029333a6546c11e108ede13052eb", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", "type": "github" }, "original": { @@ -565,75 +645,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1773389992, - "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=", + "lastModified": 1781607440, + "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c06b4ae3d6599a672a6210b7021d699c351eebda", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1772624091, - "narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1777428379, - "narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "755f5aa91337890c432639c60b6064bb7fe67769", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1773700673, - "narHash": "sha256-RLidgpn3mN3cVkIiiYehcmM2ImBnPudwISFLy71zN0o=", - "owner": "msyds", - "repo": "nixpkgs", - "rev": "2595b5f0592534492bce3cb61c2c9bf5ba03ffbe", - "type": "github" - }, - "original": { - "owner": "msyds", - "ref": "fix-bepasty", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1742578646, - "narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "94c4dbe77c0740ebba36c173672ca15a7926c993", + "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", "type": "github" }, "original": { @@ -643,13 +659,29 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_4": { "locked": { - "lastModified": 1767767207, - "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1781577229, + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", "type": "github" }, "original": { @@ -659,13 +691,58 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_6": { "locked": { - "lastModified": 1756819007, - "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=", + "lastModified": 1780453794, + "narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1", + "rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1767892417, + "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", + "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1782175435, + "narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "89570f24e97e614aa34aa9ab1c927b6578a43775", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1775888245, + "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "13043924aaa7375ce482ebe2494338e058282925", "type": "github" }, "original": { @@ -680,15 +757,14 @@ "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" + ] }, "locked": { - "lastModified": 1742849190, - "narHash": "sha256-Isnx5t+L/G7AxpUwNvFgPiYc4IcZjdBrg3MIVz1cfnk=", + "lastModified": 1782324423, + "narHash": "sha256-5kuAZdkkvcH5PhgIa3Y1AYiEqMVej0fEdiQ90dyS5zY=", "owner": "nix-community", "repo": "NUR", - "rev": "797067d7e3601713a3b43f823248a6232486376c", + "rev": "64d4c632a898a7ef22c72dfe6b33df259b1d4443", "type": "github" }, "original": { @@ -709,11 +785,11 @@ ] }, "locked": { - "lastModified": 1767810917, - "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=", + "lastModified": 1780281641, + "narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=", "owner": "nix-community", "repo": "NUR", - "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4", + "rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01", "type": "github" }, "original": { @@ -722,10 +798,33 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "dms", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1776854048, + "narHash": "sha256-lLbV66V3RMNp1l8/UelmR4YzoJ5ONtgvEtiUMJATH/o=", + "ref": "refs/heads/master", + "rev": "783c953987dc56ff0601abe6845ed96f1d00495a", + "revCount": 806, + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + }, + "original": { + "rev": "783c953987dc56ff0601abe6845ed96f1d00495a", + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + } + }, "root": { "inputs": { "copyparty": "copyparty", "disko": "disko", + "dms": "dms", "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", @@ -733,7 +832,7 @@ "nixarr": "nixarr", "nixcord": "nixcord", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_8", "nur": "nur", "sops-nix": "sops-nix", "stylix": "stylix", @@ -745,14 +844,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1742700801, - "narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=", + "lastModified": 1782165805, + "narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852", + "rev": "56b24064fdcaedca53553b1a6d607fd23b613a24", "type": "github" }, "original": { @@ -770,25 +869,24 @@ "firefox-gnome-theme": "firefox-gnome-theme", "flake-parts": "flake-parts_3", "gnome-shell": "gnome-shell", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_10", "nur": "nur_2", "systems": "systems", - "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1772296853, - "narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=", - "owner": "danth", + "lastModified": 1782310521, + "narHash": "sha256-vsxcG0i8e4EPfdnhMTKMVzD1825H2vG1BBslzom9wxg=", + "owner": "nix-community", "repo": "stylix", - "rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf", + "rev": "e084d011e7ee9302aceaaf6c1fc28a9ace09e16a", "type": "github" }, "original": { - "owner": "danth", + "owner": "nix-community", "repo": "stylix", "type": "github" } @@ -796,14 +894,14 @@ "syd-fcitx5-tables": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1771615370, - "narHash": "sha256-UD/9fs1GYuwDGqrpKunrwOPrvkahLQ/6eeRy/0ejHNA=", + "lastModified": 1771615497, + "narHash": "sha256-kyh/P0W8Th+AWFFGzVH7fC1pnI/Q6XqQUZoOHbs1S9A=", "ref": "refs/heads/main", - "rev": "41111bead687315ca1f55a826509234ca2f0e0ce", - "revCount": 8, + "rev": "c515caad2fbbabdcd29b63db7fa11aa4e0400cce", + "revCount": 9, "type": "git", "url": "https://git.deertopia.net/msyds/syd-fcitx5-tables" }, @@ -819,11 +917,11 @@ ] }, "locked": { - "lastModified": 1776985528, - "narHash": "sha256-32WDZGOJBjq3Jr4DRtumqXoX5t25/T0cQ7CzAqT1OnE=", + "lastModified": 1782095156, + "narHash": "sha256-3iWp9s12wje+qV7trS/XhQZVfolXBpTPLdGfOHWkdBs=", "ref": "refs/heads/main", - "rev": "40de55454366e390e6972f5e9a9b1444df49ed18", - "revCount": 40, + "rev": "6450642be3ee1af3b64ff2129e0fa2488f3c2d0e", + "revCount": 43, "type": "git", "url": "https://git.deertopia.net/msyds/sydpkgs" }, @@ -880,14 +978,14 @@ "tf2-nix": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1761467191, - "narHash": "sha256-0NHhZztMuw17Tp/HjsGhAtjI4k5Qhg0ZxIkgIA0hHOI=", + "lastModified": 1761857232, + "narHash": "sha256-EvWDkMdmAx9IKYHuIa8bWMu9Fa7KylKNWWAQ57Dr7KA=", "owner": "msyds", "repo": "tf2-nix", - "rev": "98673e8d34fbe59e3c5e9f27068a46e6b61ccc60", + "rev": "3afc3e370bfe66d31ef0711dabc90a29fb55940e", "type": "gitlab" }, "original": { @@ -896,23 +994,6 @@ "type": "gitlab" } }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, "tinted-kitty": { "flake": false, "locked": { @@ -932,11 +1013,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1767710407, - "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=", + "lastModified": 1777806186, + "narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=", "owner": "tinted-theming", "repo": "schemes", - "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2", + "rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795", "type": "github" }, "original": { @@ -948,11 +1029,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1767489635, - "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=", + "lastModified": 1778379944, + "narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184", + "rev": "fe0203a198690e71a5ff11e08812a4673de3678d", "type": "github" }, "original": { @@ -964,11 +1045,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1767488740, - "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=", + "lastModified": 1778378178, + "narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40", + "rev": "9cd816033ff969415b190722cddf134e78a5665f", "type": "github" }, "original": { @@ -977,34 +1058,13 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "vpn-confinement": { "locked": { - "lastModified": 1742138327, - "narHash": "sha256-Y71Mjej98CjaUKa1ecAIOo0eJ1B3ZVQl2ng6xl7/s9Y=", + "lastModified": 1778182451, + "narHash": "sha256-Bz3n2THDGf90Z9gMqhH/J492prYH8B6RFRlxv/fPBwc=", "owner": "Maroka-chan", "repo": "VPN-Confinement", - "rev": "38eeb3bc501900b48d1caf8c52a5b7f2fb7a52c5", + "rev": "cf5bfc4c3559f2e783698b1aa23c165072039a7d", "type": "github" }, "original": { @@ -1054,11 +1114,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1772429643, - "narHash": "sha256-M+bAeCCcjBnVk6w/4dIVvXvpJwOKnXjwi/lDbaN6Yws=", + "lastModified": 1781226823, + "narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "10f985b84cdbcc3bbf35b3e7e43d1b2a84fa9ce2", + "rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d8fc492..e8756f3 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,9 @@ inputs = { disko.url = "github:nix-community/disko"; - # nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # Waiting on https://github.com/NixOS/nixpkgs/pull/500538 - nixpkgs.url = "github:msyds/nixpkgs/fix-bepasty"; + # nixpkgs.url = "github:msyds/nixpkgs/fix-bepasty"; impermanence.url = "github:nix-community/impermanence"; home-manager.url = "github:nix-community/home-manager"; sops-nix.url = "github:Mic92/sops-nix"; @@ -15,7 +15,7 @@ }; emacs-overlay.url = "github:nix-community/emacs-overlay"; niri.url = "github:sodiboo/niri-flake"; - stylix.url = "github:danth/stylix"; + stylix.url = "github:nix-community/stylix"; nixcord.url = "github:KaylorBen/nixcord"; vpn-confinement.url = "github:Maroka-chan/VPN-Confinement"; nixarr = { @@ -36,6 +36,10 @@ url = "git+https://git.deertopia.net/msyds/sydpkgs"; inputs.nixpkgs.follows = "nixpkgs"; }; + dms = { + url = "github:AvengeMedia/DankMaterialShell/stable"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, ... }@inputs: diff --git a/hosts/deertopia/configuration.nix b/hosts/deertopia/configuration.nix index 13103ef..6981616 100644 --- a/hosts/deertopia/configuration.nix +++ b/hosts/deertopia/configuration.nix @@ -50,7 +50,7 @@ deertopia = { authelia.enable = true; gitea.enable = true; - quiver.enable = true; + # quiver.enable = true; www.enable = true; bepasty.enable = true; jellyfin.enable = false; diff --git a/hosts/sydpc/configuration.nix b/hosts/sydpc/configuration.nix index 2208dfc..b9b4811 100755 --- a/hosts/sydpc/configuration.nix +++ b/hosts/sydpc/configuration.nix @@ -6,6 +6,8 @@ ./disks.nix ]; + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; diff --git a/modules/home/dank-material-shell.nix b/modules/home/dank-material-shell.nix deleted file mode 100644 index 069ae56..0000000 --- a/modules/home/dank-material-shell.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.sydnix.dank-material-shell; - json = pkgs.formats.json {}; -in { - options.sydnix.dank-material-shell = { - enable = lib.mkEnableOption "DMS"; - settings = lib.mkOption { - type = json.type; - default = { }; - description = '' - DankMaterialShell configuration settings as an attribute set, - to be written to ~/.config/DankMaterialShell/settings.json. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - xdg.configFile = { - "DankMaterialShell/settings.json".source = - json.generate "settings.json" cfg.settings; - }; - }; -} diff --git a/modules/home/guile.nix b/modules/home/guile.nix new file mode 100644 index 0000000..fad1573 --- /dev/null +++ b/modules/home/guile.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +let cfg = config.sydnix.guile; +in { + options.sydnix.guile = { + enable = lib.mkEnableOption "Guile Scheme"; + }; + + config = lib.mkIf cfg.enable { + home.file.".guile".text = '' + (use-modules (ice-9 readline)) + (activate-readline) + ''; + }; +} diff --git a/modules/home/impermanence.nix b/modules/home/impermanence.nix index ba7ddb1..8601201 100644 --- a/modules/home/impermanence.nix +++ b/modules/home/impermanence.nix @@ -45,8 +45,8 @@ in { config = mkIf cfg.enable { home.persistence = { - "/persist/home/${config.home.username}" = { - allowOther = true; + "/persist" = { + # allowOther = true; directories = cfg.directories ++ cfg.cache.directories; files = cfg.files ++ cfg.cache.files; }; diff --git a/modules/home/steam.nix b/modules/home/steam.nix index 591a374..87f15a0 100644 --- a/modules/home/steam.nix +++ b/modules/home/steam.nix @@ -20,7 +20,7 @@ in { # https://github.com/ValveSoftware/steam-for-linux/issues/10552 # https://github.com/nix-community/impermanence/issues/165 # { directory = ".local/share/Steam"; method = "symlink"; } - { directory = ".steam"; method = "symlink"; } + { directory = ".steam"; } ]; home.packages = [ diff --git a/modules/home/sydpkgs.nix b/modules/home/sydpkgs.nix index f88c37f..3149faa 100644 --- a/modules/home/sydpkgs.nix +++ b/modules/home/sydpkgs.nix @@ -7,6 +7,6 @@ in { }; config = lib.mkIf cfg.overlay.enable { - nixpkgs.overlays = [ inputs.sydpkgs.overlays.default ]; + # nixpkgs.overlays = [ inputs.sydpkgs.overlays.default ]; }; } diff --git a/modules/home/users/crumb/firefox.nix b/modules/home/users/crumb/firefox.nix index cdc367f..cd1fb83 100644 --- a/modules/home/users/crumb/firefox.nix +++ b/modules/home/users/crumb/firefox.nix @@ -13,34 +13,17 @@ in { # # For an overview of important files in the profile directory, see # https://support.mozilla.org/en-US/kb/recovering-important-data-from-an-old-profile. - sydnix.impermanence = - { directories = [ ".mozilla/firefox/msyds" ]; }; - # let p = ".mozilla/firefox/msyds"; - # in { - # files = [ - # # Passwords - # "${p}/key4.db" - # "${p}/logins.json" - # "${p}/logins-backup.json" - # # Site-specific permissions - # "${p}/permissions.sqlite" - # # Bookmarks, downloads and browsing history - # "${p}/places.sqlite" - # # Cached favicons for use in the history menu. - # "${p}/favicons.sqlite" - # # Cookies - # "${p}/cookies.sqlite" - # # Security certificate settings - # "${p}/cert9.db" - # # Form history (for completions) - # "${p}/formhistory.sqlite" - # ]; - # }; + sydnix.impermanence.directories = [ + "${config.xdg.configHome}/mozilla/firefox" + ".cache/mozilla/firefox" + ".mozilla" + ]; stylix.targets.firefox.profileNames = [ "msyds" ]; programs.firefox = { enable = true; + # configPath = "${config.xdg.configHome}/mozilla/firefox"; # Available language codes can be found on the releases page: # https://releases.mozilla.org/pub/firefox/releases/134.0.2/linux-x86_64/xpi/. @@ -177,6 +160,8 @@ in { sidebery adaptive-tab-bar-colour adnauseam + yomitan + bitwarden # tree-style-tab # tab-unload-for-tree-style-tab # tst-tab-search diff --git a/modules/home/users/crumb/niri.nix b/modules/home/users/crumb/niri.nix index fa47018..9449da8 100644 --- a/modules/home/users/crumb/niri.nix +++ b/modules/home/users/crumb/niri.nix @@ -342,10 +342,6 @@ in { place-within-backdrop = true; } ]; - - # debug = { - # wait-for-frame-completion-in-pipewire = {}; - # }; }; }; }; diff --git a/modules/home/users/msyds/dank-material-shell.nix b/modules/home/users/msyds/dank-material-shell.nix index 2a504fc..32f8904 100644 --- a/modules/home/users/msyds/dank-material-shell.nix +++ b/modules/home/users/msyds/dank-material-shell.nix @@ -11,416 +11,320 @@ in { enable = lib.mkEnableOption "Dank Material Shell"; }; - config = lib.mkIf cfg.enable - (let - theme = { - dark = with config.lib.stylix.colors.withHashtag; { - name = "Stylix generatated dark theme"; - primary = base0D; - primaryText = base00; - primaryContainer = base0C; - secondary = base0E; - surface = base01; - surfaceText = base05; - surfaceVariant = base02; - surfaceVariantText = base04; - surfaceTint = base0D; - background = base00; - backgroundText = base05; - outline = base03; - surfaceContainer = base01; - surfaceContainerHigh = base02; - surfaceContainerHighest = base03; - error = base08; - warning = base0A; - info = base0C; - } // { - primary = base06; - surfaceContainerHigh = "#2a2a37"; # Sunk Ink 2 - surfaceContainerHighest = base05; - }; - light = with config.lib.stylix.colors.withHashtag; { - name = "Stylix generatated light theme"; - primary = base0D; - primaryText = base07; - primaryContainer = base0C; - secondary = base0E; - surface = base06; - surfaceText = base01; - surfaceVariant = base07; - surfaceVariantText = base02; - surfaceTint = base0D; - background = base07; - backgroundText = base00; - outline = base04; - surfaceContainer = base06; - surfaceContainerHigh = base05; - surfaceContainerHighest = base04; - error = base08; - warning = base0A; - info = base0C; - }; - }; - in { - programs.niri.settings = { - # Open DMS windows as floating by default - window-rules = [ - { - matches = [{app-id = "#org.quickshell$";}]; - open-floating = true; - } - ]; - # Blur wallpaper when overview is open. - layer-rules = [ - { - matches = [{ namespace = "dms:blurwallpaper"; }]; - place-within-backdrop = true; - } - ]; - spawn-at-startup = [ - { - command = [ - (lib.getExe' pkgs.wl-clipboard "wl-paste") - "--watch" "cliphist" "store" - ]; - } - ]; - }; - sydnix.users.crumb.niri = { - polkit.enable = false; - swaylock.enable = false; - portal.enable = false; - swaync.enable = false; - gammastep.enable = false; - binds = - let dms-ipc = config.lib.niri.actions.spawn "dms" "ipc"; - in { - "Mod+D" = { - action = dms-ipc "spotlight" "toggle"; - hotkey-overlay.title = "Toggle Application Launcher"; - }; - "Mod+P" = { - action = dms-ipc "notepad" "toggle"; - hotkey-overlay.title = "Toggle Notepad"; - }; - "Mod+Ctrl+L" = { - action = dms-ipc "lock" "lock"; - hotkey-overlay.title = "Toggle Lock Screen"; - }; - "XF86AudioRaiseVolume" = { - allow-when-locked = true; - action = dms-ipc "audio" "increment" "3"; - }; - "XF86AudioLowerVolume" = { - allow-when-locked = true; - action = dms-ipc "audio" "decrement" "3"; - }; - "XF86AudioMute" = { - allow-when-locked = true; - action = dms-ipc "audio" "mute"; - }; - "XF86AudioMicMute" = { - allow-when-locked = true; - action = dms-ipc "audio" "micmute"; - }; - "XF86MonBrightnessUp" = { - allow-when-locked = true; - action = dms-ipc "brightness" "increment" "5" ""; - }; - "XF86MonBrightnessDown" = { - allow-when-locked = true; - action = dms-ipc "brightness" "decrement" "5" ""; - }; + config = lib.mkIf cfg.enable { + programs.niri.settings = { + # Open DMS windows as floating by default + window-rules = [ + { + matches = [{app-id = "#org.quickshell$";}]; + open-floating = true; + } + ]; + # Blur wallpaper when overview is open. + layer-rules = [ + { + matches = [{ namespace = "dms:blurwallpaper"; }]; + place-within-backdrop = true; + } + ]; + spawn-at-startup = [ + { + command = [ + (lib.getExe' pkgs.wl-clipboard "wl-paste") + "--watch" "cliphist" "store" + ]; + } + ]; + }; + stylix.targets.dank-material-shell.enable = true; + sydnix.users.crumb.niri = { + polkit.enable = false; + swaylock.enable = false; + portal.enable = false; + swaync.enable = false; + gammastep.enable = false; + binds = + let dms-ipc = config.lib.niri.actions.spawn "dms" "ipc"; + in { + "Mod+D" = { + action = dms-ipc "spotlight" "toggle"; + hotkey-overlay.title = "Toggle Application Launcher"; + }; + "Mod+P" = { + action = dms-ipc "notepad" "toggle"; + hotkey-overlay.title = "Toggle Notepad"; + }; + "Mod+Ctrl+L" = { + action = dms-ipc "lock" "lock"; + hotkey-overlay.title = "Toggle Lock Screen"; + }; + "XF86AudioRaiseVolume" = { + allow-when-locked = true; + action = dms-ipc "audio" "increment" "3"; + }; + "XF86AudioLowerVolume" = { + allow-when-locked = true; + action = dms-ipc "audio" "decrement" "3"; + }; + "XF86AudioMute" = { + allow-when-locked = true; + action = dms-ipc "audio" "mute"; + }; + "XF86AudioMicMute" = { + allow-when-locked = true; + action = dms-ipc "audio" "micmute"; + }; + "XF86MonBrightnessUp" = { + allow-when-locked = true; + action = dms-ipc "brightness" "increment" "5" ""; + }; + "XF86MonBrightnessDown" = { + allow-when-locked = true; + action = dms-ipc "brightness" "decrement" "5" ""; }; - }; - sydnix.dank-material-shell = { - enable = true; - settings = { - theme = "dark"; - currentThemeName = "custom"; - customThemeFile = - pkgs.writeText - "dankMaterialShell-stylix-theme.json" - (builtins.toJSON theme); - popupTransparency = 1; - dockTransparency = 1; - use24HourClock = true; - showSeconds = false; - useFahrenheit = false; - nightModeEnabled = true; - animationSpeed = 1; - customAnimationDuration = 500; - wallpaperFillMode = "Fill"; - blurredWallpaperLayer = false; - blurWallpaperOnOverview = true; - showLauncherButton = true; - showWorkspaceSwitcher = true; - showFocusedWindow = true; - showWeather = false; - showMusic = true; - showClipboard = true; - showCpuUsage = true; - showMemUsage = true; - showCpuTemp = true; - showGpuTemp = true; - selectedGpuIndex = 0; - enabledGpuPciIds = []; - showSystemTray = true; - showClock = true; - showNotificationButton = true; - showBattery = true; - showControlCenterButton = true; - showCapsLockIndicator = true; - controlCenterShowNetworkIcon = true; - controlCenterShowBluetoothIcon = on ["fruitbook"]; - controlCenterShowAudioIcon = true; - controlCenterShowVpnIcon = true; - controlCenterShowBrightnessIcon = false; - controlCenterShowMicIcon = false; - controlCenterShowBatteryIcon = false; - controlCenterShowPrinterIcon = false; - showPrivacyButton = true; - privacyShowMicIcon = false; - privacyShowCameraIcon = false; - privacyShowScreenShareIcon = false; - controlCenterWidgets = [ - { - id = "volumeSlider"; - enabled = true; - width = 50; - } - { - id = "brightnessSlider"; - enabled = true; - width = 50; - } - { - id = "wifi"; - enabled = true; - width = 50; - } - { - id = "bluetooth"; - enabled = true; - width = 50; - } - { - id = "audioOutput"; - enabled = true; - width = 50; - } - { - id = "audioInput"; - enabled = true; - width = 50; - } - { - id = "nightMode"; - enabled = true; - width = 50; - } - { - id = "darkMode"; - enabled = true; - width = 50; - } - ]; - showWorkspaceIndex = false; - showWorkspacePadding = false; - workspaceScrolling = false; - showWorkspaceApps = false; - maxWorkspaceIcons = 3; - workspacesPerMonitor = true; - showOccupiedWorkspacesOnly = false; - dwlShowAllTags = false; - workspaceNameIcons = {}; - waveProgressEnabled = true; - scrollTitleEnabled = true; - clockCompactMode = false; - focusedWindowCompactMode = false; - runningAppsCompactMode = true; - keyboardLayoutNameCompactMode = false; - runningAppsCurrentWorkspace = false; - runningAppsGroupByApp = false; - centeringMode = "index"; - clockDateFormat = ""; - lockDateFormat = ""; - mediaSize = 1; - appLauncherViewMode = "list"; - spotlightModalViewMode = "list"; - sortAppsAlphabetically = false; - appLauncherGridColumns = 4; - spotlightCloseNiriOverview = true; - niriOverviewOverlayEnabled = true; - weatherLocation = "Arvada, Colorado"; - weatherCoordinates = "39.8005505,-105.0811573"; - useAutoLocation = false; - weatherEnabled = true; - networkPreference = "auto"; - vpnLastConnected = ""; - iconTheme = "System Default"; - launcherLogoMode = "apps"; - launcherLogoCustomPath = ""; - launcherLogoColorOverride = ""; - launcherLogoColorInvertOnMode = false; - launcherLogoBrightness = 0.5; - launcherLogoContrast = 1; - launcherLogoSizeOffset = 0; - fontFamily = "Inter Variable"; - monoFontFamily = "Fira Code"; - fontWeight = 400; - fontScale = 1; - notepadUseMonospace = true; - notepadFontFamily = ""; - notepadFontSize = 14; - notepadShowLineNumbers = false; - notepadTransparencyOverride = -1; - notepadLastCustomTransparency = 0.7; - soundsEnabled = true; - useSystemSoundTheme = false; - soundNewNotification = true; - soundVolumeChanged = true; - soundPluggedIn = true; - acMonitorTimeout = 0; - acLockTimeout = 0; - acSuspendTimeout = 0; - acSuspendBehavior = 0; - acProfileName = ""; - batteryMonitorTimeout = 0; - batteryLockTimeout = 0; - batterySuspendTimeout = 0; - batterySuspendBehavior = 0; - batteryProfileName = ""; - lockBeforeSuspend = true; - loginctlLockIntegration = true; - fadeToLockEnabled = true; - fadeToLockGracePeriod = 5; - launchPrefix = ""; - brightnessDevicePins = {}; - wifiNetworkPins = {}; - bluetoothDevicePins = {}; - audioInputDevicePins.preferredInput = - "alsa_input.usb-Generic_Blue_Microphones_2041BAB03EZ8-00.analog-stereo"; - audioOutputDevicePins.preferredOutput = - "alsa_output.usb-Jieli_Technology_CA-2890_USB_Speaker_Bar_4250315A3537380E-00.analog-stereo"; - gtkThemingEnabled = false; - qtThemingEnabled = false; - syncModeWithPortal = true; - terminalsAlwaysDark = false; - showDock = false; - dockAutoHide = false; - dockGroupByApp = false; - dockOpenOnOverview = false; - dockPosition = 1; - dockSpacing = 4; - dockBottomGap = 0; - dockMargin = 0; - dockIconSize = 40; - dockIndicatorStyle = "circle"; - dockBorderEnabled = false; - dockBorderColor = "surfaceText"; - dockBorderOpacity = 1; - dockBorderThickness = 1; - notificationOverlayEnabled = false; - modalDarkenBackground = true; - lockScreenShowPowerActions = true; - enableFprint = false; - maxFprintTries = 15; - lockScreenActiveMonitor = "all"; - lockScreenInactiveColor = "#000000"; - hideBrightnessSlider = false; - notificationTimeoutLow = 5000; - notificationTimeoutNormal = 5000; - notificationTimeoutCritical = 0; - notificationPopupPosition = 0; - osdAlwaysShowValue = false; - osdPosition = 5; - osdVolumeEnabled = true; - osdMediaVolumeEnabled = true; - osdBrightnessEnabled = true; - osdIdleInhibitorEnabled = true; - osdMicMuteEnabled = true; - osdCapsLockEnabled = true; - osdPowerProfileEnabled = false; - osdAudioOutputEnabled = true; - powerActionConfirm = true; - powerActionHoldDuration = 0.5; - powerMenuActions = [ - "reboot" - "logout" - "poweroff" - "lock" - "suspend" - "restart" - ]; - powerMenuDefaultAction = "logout"; - powerMenuGridLayout = false; - customPowerActionLock = ""; - customPowerActionLogout = ""; - customPowerActionSuspend = ""; - customPowerActionHibernate = ""; - customPowerActionReboot = ""; - customPowerActionPowerOff = ""; - updaterUseCustomCommand = false; - updaterCustomCommand = ""; - updaterTerminalAdditionalParams = ""; - displayNameMode = "system"; - screenPreferences.wallpaper = []; - showOnLastDisplay = {}; - barConfigs = [ - { - id = "default"; - name = "Main Bar"; - enabled = true; - position = 2; - screenPreferences = [ - "all" - ]; - showOnLastDisplay = true; - leftWidgets = [ - "launcherButton" - "workspaceSwitcher" - "focusedWindow" - ]; - centerWidgets = [ - "music" - "clock" - "weather" - ]; - rightWidgets = [ - "systemTray" - "clipboard" - "cpuUsage" - "memUsage" - "notificationButton" - "battery" - "controlCenterButton" - ]; - spacing = 4; - innerPadding = 4; - bottomGap = 0; - transparency = 1; - widgetTransparency = 1; - squareCorners = false; - noBackground = false; - gothCornersEnabled = false; - gothCornerRadiusOverride = false; - gothCornerRadiusValue = 12; - borderEnabled = false; - borderColor = "surfaceText"; - borderOpacity = 1; - borderThickness = 1; - fontScale = 1; - autoHide = false; - autoHideDelay = 250; - openOnOverview = false; - visible = true; - popupGapsAuto = true; - popupGapsManual = 4; - } - ]; - configVersion = 2; }; + }; + programs.dank-material-shell = { + enable = true; + settings = { + theme = "dark"; + currentThemeName = "custom"; + use24HourClock = true; + showSeconds = false; + useFahrenheit = false; + nightModeEnabled = true; + animationSpeed = 1; + customAnimationDuration = 500; + wallpaperFillMode = "Fill"; + blurredWallpaperLayer = false; + blurWallpaperOnOverview = true; + showLauncherButton = true; + showWorkspaceSwitcher = true; + showFocusedWindow = true; + showWeather = false; + showMusic = true; + showClipboard = true; + showCpuUsage = true; + showMemUsage = true; + showCpuTemp = true; + showGpuTemp = true; + selectedGpuIndex = 0; + enabledGpuPciIds = []; + showSystemTray = true; + showClock = true; + showNotificationButton = true; + showBattery = true; + showControlCenterButton = true; + showCapsLockIndicator = true; + controlCenterShowNetworkIcon = true; + controlCenterShowBluetoothIcon = on ["fruitbook"]; + controlCenterShowAudioIcon = true; + controlCenterShowVpnIcon = true; + controlCenterShowBrightnessIcon = false; + controlCenterShowMicIcon = false; + controlCenterShowBatteryIcon = false; + controlCenterShowPrinterIcon = false; + showPrivacyButton = true; + privacyShowMicIcon = false; + privacyShowCameraIcon = false; + privacyShowScreenShareIcon = false; + controlCenterWidgets = [ + { + id = "volumeSlider"; + enabled = true; + width = 50; + } + { + id = "brightnessSlider"; + enabled = true; + width = 50; + } + { + id = "wifi"; + enabled = true; + width = 50; + } + { + id = "bluetooth"; + enabled = true; + width = 50; + } + { + id = "audioOutput"; + enabled = true; + width = 50; + } + { + id = "audioInput"; + enabled = true; + width = 50; + } + { + id = "nightMode"; + enabled = true; + width = 50; + } + { + id = "darkMode"; + enabled = true; + width = 50; + } + ]; + showWorkspaceIndex = false; + showWorkspacePadding = false; + workspaceScrolling = false; + showWorkspaceApps = false; + maxWorkspaceIcons = 3; + workspacesPerMonitor = true; + showOccupiedWorkspacesOnly = false; + dwlShowAllTags = false; + workspaceNameIcons = {}; + waveProgressEnabled = true; + scrollTitleEnabled = true; + clockCompactMode = false; + focusedWindowCompactMode = false; + runningAppsCompactMode = true; + keyboardLayoutNameCompactMode = false; + runningAppsCurrentWorkspace = false; + runningAppsGroupByApp = false; + centeringMode = "index"; + clockDateFormat = ""; + lockDateFormat = ""; + mediaSize = 1; + appLauncherViewMode = "list"; + spotlightModalViewMode = "list"; + sortAppsAlphabetically = false; + appLauncherGridColumns = 4; + spotlightCloseNiriOverview = true; + niriOverviewOverlayEnabled = true; + weatherLocation = "Arvada, Colorado"; + weatherCoordinates = "39.8005505,-105.0811573"; + useAutoLocation = false; + weatherEnabled = true; + networkPreference = "auto"; + iconTheme = "System Default"; + launcherLogoMode = "apps"; + launcherLogoCustomPath = ""; + launcherLogoBrightness = 0.5; + launcherLogoContrast = 1; + launcherLogoSizeOffset = 0; + fontWeight = 400; + fontScale = 1; + notepadUseMonospace = true; + notepadFontSize = 14; + notepadShowLineNumbers = false; + soundsEnabled = true; + useSystemSoundTheme = false; + soundNewNotification = true; + soundVolumeChanged = true; + soundPluggedIn = true; + lockBeforeSuspend = true; + loginctlLockIntegration = true; + fadeToLockEnabled = true; + gtkThemingEnabled = false; + qtThemingEnabled = false; + syncModeWithPortal = true; + terminalsAlwaysDark = false; + showDock = false; + dockAutoHide = false; + dockGroupByApp = false; + dockOpenOnOverview = false; + dockPosition = 1; + dockSpacing = 4; + dockBottomGap = 0; + dockMargin = 0; + dockIconSize = 40; + dockIndicatorStyle = "circle"; + dockBorderEnabled = false; + dockBorderOpacity = 1; + dockBorderThickness = 1; + notificationOverlayEnabled = false; + modalDarkenBackground = true; + lockScreenShowPowerActions = true; + enableFprint = false; + maxFprintTries = 15; + lockScreenActiveMonitor = "all"; + hideBrightnessSlider = false; + notificationTimeoutLow = 5000; + notificationTimeoutNormal = 5000; + notificationTimeoutCritical = 0; + notificationPopupPosition = 0; + osdAlwaysShowValue = false; + osdPosition = 5; + osdVolumeEnabled = true; + osdMediaVolumeEnabled = true; + osdBrightnessEnabled = true; + osdIdleInhibitorEnabled = true; + osdMicMuteEnabled = true; + osdCapsLockEnabled = true; + osdPowerProfileEnabled = false; + osdAudioOutputEnabled = true; + powerActionConfirm = true; + powerActionHoldDuration = 0.5; + powerMenuActions = [ + "reboot" + "logout" + "poweroff" + "lock" + "suspend" + # "restart" + ]; + powerMenuDefaultAction = "logout"; + powerMenuGridLayout = false; + displayNameMode = "system"; + screenPreferences.wallpaper = []; + showOnLastDisplay = {}; + barConfigs = [ + { + id = "default"; + name = "Main Bar"; + enabled = true; + position = 2; + screenPreferences = [ + "all" + ]; + showOnLastDisplay = true; + leftWidgets = [ + "launcherButton" + "workspaceSwitcher" + "focusedWindow" + ]; + centerWidgets = [ + "music" + "clock" + "weather" + ]; + rightWidgets = [ + "systemTray" + "clipboard" + "cpuUsage" + "memUsage" + "notificationButton" + "battery" + "controlCenterButton" + ]; + spacing = 4; + innerPadding = 4; + bottomGap = 0; + squareCorners = false; + noBackground = false; + gothCornersEnabled = false; + gothCornerRadiusOverride = false; + gothCornerRadiusValue = 12; + borderEnabled = false; + borderOpacity = 1; + borderThickness = 1; + fontScale = 1; + autoHide = false; + autoHideDelay = 250; + openOnOverview = false; + visible = true; + popupGapsAuto = true; + popupGapsManual = 4; + } + ]; + configVersion = 2; }; - }); + }; + }; } diff --git a/modules/nixos/dank-material-shell.nix b/modules/nixos/dank-material-shell.nix index 1db71f4..990c652 100644 --- a/modules/nixos/dank-material-shell.nix +++ b/modules/nixos/dank-material-shell.nix @@ -7,9 +7,13 @@ in { }; config = lib.mkIf cfg.enable { - programs.dms-shell = { + programs.dank-material-shell = { enable = true; enableDynamicTheming = false; + systemd = { + enable = true; + restartIfChanged = true; + }; }; # Start after xwayland-satellite, if possible. So DMS can start @@ -19,10 +23,35 @@ in { after = ["xwayland-satellite.service"]; }; + # services.greetd.settings.default_session.command = ""; + services.displayManager.dms-greeter = { enable = true; - compositor.name = assert config.sydnix.niri.enable; "niri"; + compositor = { + name = assert config.sydnix.niri.enable; "niri"; + # see: https://github.com/AvengeMedia/DankMaterialShell/commit/5ceb908b8b69c253e259b5437020192dcad4bfde + customConfig = '' + hotkey-overlay { + skip-at-startup + } + environment { + DMS_RUN_GREETER "1" + } + gestures { + hot-corners { + off + } + } + layout { + background-color "#000000" + } + ''; + }; configHome = "/home/msyds"; # Really stupid. + logs = { + save = true; + path = "/var/lib/dms-greeter/log"; + }; }; }; } diff --git a/modules/nixos/deertopia/vaultwarden.nix b/modules/nixos/deertopia/vaultwarden.nix index 5f7d134..eddcbe0 100644 --- a/modules/nixos/deertopia/vaultwarden.nix +++ b/modules/nixos/deertopia/vaultwarden.nix @@ -14,10 +14,12 @@ in { ROCKET_PORT = 8222; DOMAIN = "https://vault.deertopia.net"; }; + backupDir = "/var/backup/vaultwarden"; }; sydnix.impermanence.directories = [ - "/var/backup/vaultwarden" + config.services.vaultwarden.backupDir + "/var/lib/bitwarden_rs" ]; services.nginx.upstreams.vaultwarden.servers = diff --git a/modules/nixos/impermanence/rollback.nix b/modules/nixos/impermanence/rollback.nix index 9158c31..50d9035 100644 --- a/modules/nixos/impermanence/rollback.nix +++ b/modules/nixos/impermanence/rollback.nix @@ -24,36 +24,75 @@ in { }; config = mkIf cfg.enable { - boot.initrd.postDeviceCommands = '' - # Mount the btrfs filesystem. - mkdir -p /btrfs-tmp - mount -t btrfs "${cfg.device}" /btrfs-tmp + boot.initrd.systemd = { + services.impermance-btrfs-rolling-root = { + description = "Archiving existing BTRFS root subvolume and creating a fresh one"; + unitConfig.DefaultDependencies = false; + serviceConfig = { + # The script needs to run to completion before this service + # is done + Type = "oneshot"; + # NOTE: to be able to see errors in your script do this + StandardOutput = "journal+console"; + StandardError = "journal+console"; + }; + # This service is required for boot to succeed + requiredBy = ["initrd.target"]; + # Should complete before any file systems are mounted + before = ["sysroot.mount"]; - # If the moribund subvolume exists, send it do 'death row' (old-roots), - # where live for about three days before its eventual deletion. - if [[ -e "/btrfs-tmp/${cfg.subvolume}" ]]; then - mkdir -p /btrfs-tmp/old-roots - timestamp=$(date --date="@$(stat -c %Y "/btrfs-tmp/${cfg.subvolume}")" "+%Y-%m-%-d_%H:%M:%S") - mv "/btrfs-tmp/${cfg.subvolume}" "/btrfs-tmp/old-roots/$timestamp" - fi + # Wait until the root device is available + # If you're altering a different device, specify its device unit explicitly. + # see: systemd-escape(1) + requires = ["initrd-root-device.target"]; + after = [ + "initrd-root-device.target" + # Allow hibernation to resume before trying to alter any data + "local-fs-pre.target" + ]; - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs-tmp/$i" - done - btrfs subvolume delete "$1" - } + script = '' + # Mount the btrfs filesystem. + mkdir -p /btrfs-tmp + mount -t btrfs "${cfg.device}" /btrfs-tmp - # Delete previous roots older than three days. - # TODO: I would prefer archiving the last N previous roots, rather than - # time. - for i in $(find /btrfs-tmp/old-roots/ -maxdepth 1 -mtime +3); do - delete_subvolume_recursively "$i" - done + # If the moribund subvolume exists, send it do 'death row' (old-roots), + # where live for about three days before its eventual deletion. + if [[ -e "/btrfs-tmp/${cfg.subvolume}" ]]; then + mkdir -p /btrfs-tmp/old-roots + timestamp=$(date --date="@$(stat -c %Y "/btrfs-tmp/${cfg.subvolume}")" "+%Y-%m-%-d_%H:%M:%S") + mv "/btrfs-tmp/${cfg.subvolume}" "/btrfs-tmp/old-roots/$timestamp" + fi - btrfs subvolume create "/btrfs-tmp/${cfg.subvolume}" - umount /btrfs-tmp - ''; + delete_subvolume_recursively() { + IFS=$'\n' + for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do + delete_subvolume_recursively "/btrfs-tmp/$i" + done + btrfs subvolume delete "$1" + } + + # Delete previous roots older than three days. + # TODO: I would prefer archiving the last N previous roots, rather than + # time. + for i in $(find /btrfs-tmp/old-roots/ -maxdepth 1 -mtime +3); do + delete_subvolume_recursively "$i" + done + + btrfs subvolume create "/btrfs-tmp/${cfg.subvolume}" + umount /btrfs-tmp + ''; + }; + # NOTE: path = [...]; doesnt work for initrd, use full paths in + # your script or extraBin + extraBin = { + "mkdir" = "${pkgs.coreutils}/bin/mkdir"; + "date" = "${pkgs.coreutils}/bin/date"; + "stat" = "${pkgs.coreutils}/bin/stat"; + "mv" = "${pkgs.coreutils}/bin/mv"; + "find" = "${pkgs.findutils}/bin/find"; + "btrfs" = "${pkgs.btrfs-progs}/bin/btrfs"; + }; + }; }; } diff --git a/modules/nixos/niri.nix b/modules/nixos/niri.nix index ce0e51e..f32507d 100644 --- a/modules/nixos/niri.nix +++ b/modules/nixos/niri.nix @@ -14,7 +14,7 @@ in { package = pkgs.niri-unstable; }; - security.pam.services.swaylock = {}; + # security.pam.services.swaylock = {}; }; } diff --git a/outputs/homeConfigurations.nix b/outputs/homeConfigurations.nix index bec2458..7a5b188 100644 --- a/outputs/homeConfigurations.nix +++ b/outputs/homeConfigurations.nix @@ -8,8 +8,9 @@ let users = builtins.readDir ../users; inputs.self.homeManagerModules.default inputs.sops-nix.homeManagerModules.sops - inputs.impermanence.homeManagerModules.impermanence inputs.nixcord.homeModules.nixcord + inputs.dms.homeModules.dank-material-shell + inputs.dms.homeModules.niri # Directory name should always match username. ({ ... }: { home.username = username; }) diff --git a/outputs/nixosConfigurations.nix b/outputs/nixosConfigurations.nix index 052312d..3949c28 100644 --- a/outputs/nixosConfigurations.nix +++ b/outputs/nixosConfigurations.nix @@ -37,6 +37,8 @@ let inputs.niri.nixosModules.niri inputs.stylix.nixosModules.stylix inputs.nixarr.nixosModules.default + inputs.dms.nixosModules.greeter + inputs.dms.nixosModules.dank-material-shell # Directory name should always match host name. ({ ... }: { networking.hostName = hostName; }) diff --git a/users/msyds/default.nix b/users/msyds/default.nix index b99d3db..db4bf9d 100644 --- a/users/msyds/default.nix +++ b/users/msyds/default.nix @@ -44,13 +44,14 @@ capitaine-cursors.enable = true; terraria.enable = on "sydpc"; kdeconnect.enable = true; + guile.enable = true; qalculate.enable = true; toki-pona.enable = true; prism-launcher.enable = on "sydpc"; flatpak.enable = on "sydpc"; drawing-tablet.enable = on "sydpc"; easyeffects.enable = on "sydpc"; - ryujinx.enable = on "sydpc"; + ryujinx.enable = false; haskell.enable = true; kerbal-space-program.enable = on "sydpc"; libreoffice.enable = on "fruitbook";