From d6851d58696f8d55a614b8003b796423d18c8403 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Sat, 6 Sep 2025 17:39:26 -0400 Subject: [PATCH] use nix-maid --- clients/quadraticserver/redlib.nix | 16 +++++++++++++++- flake.lock | 16 ++++++++++++++++ flake.nix | 2 ++ modules/desktop/qmk.nix | 19 ++++++++----------- modules/desktop/vscodium.nix | 12 +++++------- modules/graphical/librewolf/default.nix | 11 +++++------ 6 files changed, 51 insertions(+), 25 deletions(-) diff --git a/clients/quadraticserver/redlib.nix b/clients/quadraticserver/redlib.nix index 9c272bb..3901919 100644 --- a/clients/quadraticserver/redlib.nix +++ b/clients/quadraticserver/redlib.nix @@ -1,7 +1,21 @@ -{config, ...}: { +{ + config, + pkgs, + ... +}: { services = { redlib = { enable = true; + package = pkgs.redlib.overrideAttrs (oldAttrs: { + doCheck = false; + src = pkgs.fetchFromGitHub { + owner = "chowder"; + repo = "redlib"; + rev = "47ef6a06d47416559609c385d5234d155938f3e3"; + hash = "sha256-gsgWqVOUizSYFjSg9x+dG1VRWabvjpuCGjaG94q1cQY="; + }; + }); + address = "127.0.0.6"; port = 8082; settings.REDLIB_DEFAULT_THEME = "nord"; diff --git a/flake.lock b/flake.lock index 2d39919..7ce76a2 100644 --- a/flake.lock +++ b/flake.lock @@ -1934,6 +1934,21 @@ "type": "github" } }, + "nix-maid": { + "locked": { + "lastModified": 1757070786, + "narHash": "sha256-CD5lOndYyqeGWaH4MD/z5ZFMdcCzOudfuOdMw4MyVRk=", + "owner": "viperML", + "repo": "nix-maid", + "rev": "e4682858e1643653e888d2555ef67a603374f0b9", + "type": "github" + }, + "original": { + "owner": "viperML", + "repo": "nix-maid", + "type": "github" + } + }, "nix-matrix-appservices": { "inputs": { "devshell": "devshell", @@ -2635,6 +2650,7 @@ "lasuite-docs-proxy": "lasuite-docs-proxy", "matrixoidc": "matrixoidc", "nexusbot": "nexusbot", + "nix-maid": "nix-maid", "nix-matrix-appservices": "nix-matrix-appservices", "nixpkgs": "nixpkgs_2", "ooye": "ooye", diff --git a/flake.nix b/flake.nix index 829c983..638671f 100755 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; wrapper-manager.url = "github:viperML/wrapper-manager"; flake-parts.url = "github:hercules-ci/flake-parts"; + nix-maid.url = "github:viperML/nix-maid"; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; @@ -105,6 +106,7 @@ (dirFiles ".nix" ./modules/graphical) ++ [ inputs.home-manager.nixosModules.home-manager + inputs.nix-maid.nixosModules.default inputs.stylix.nixosModules.stylix ./stylix.nix ] diff --git a/modules/desktop/qmk.nix b/modules/desktop/qmk.nix index 037a9be..1489daf 100644 --- a/modules/desktop/qmk.nix +++ b/modules/desktop/qmk.nix @@ -6,15 +6,12 @@ })) ]; - systemd.tmpfiles.settings.qmk = { - "/home/quadradical/.config/qmk"."d".user = "quadradical"; - "/home/quadradical/.config/qmk/qmk.ini"."L+".argument = toString ((pkgs.formats.ini {}).generate "qmk.ini" { - user = { - qmk_home = "/home/quadradical/Documents/Code/qmk_firmware"; - overlay_dir = "/home/quadradical/Documents/Code/qmk_userspace"; - keyboard = "keychron/v1_max/ansi_encoder"; - keymap = "default"; - }; - }); - }; + users.users.quadradical.maid.file.xdg_config."qmk/qmk.ini".source = toString ((pkgs.formats.ini {}).generate "qmk.ini" { + user = { + qmk_home = "/home/quadradical/Documents/Code/qmk_firmware"; + overlay_dir = "/home/quadradical/Documents/Code/qmk_userspace"; + keyboard = "keychron/v1_max/ansi_encoder"; + keymap = "default"; + }; + }); } diff --git a/modules/desktop/vscodium.nix b/modules/desktop/vscodium.nix index 94b2404..9ba2898 100644 --- a/modules/desktop/vscodium.nix +++ b/modules/desktop/vscodium.nix @@ -37,10 +37,8 @@ }) ]; - systemd.tmpfiles.settings.vscodium = { - "/home/quadradical/.config/VSCodium"."d".user = "quadradical"; - "/home/quadradical/.config/VSCodium/User"."d".user = "quadradical"; - "/home/quadradical/.config/VSCodium/User/settings.json"."L+".argument = toString ((pkgs.formats.json {}).generate "settings.json" { + users.users.quadradical.maid.file.xdg_config = { + "VSCodium/User/settings.json".text = builtins.toJSON { "arb-editor.suppressedWarnings" = ["missing_metadata_for_key"]; "dart.debugExternalPackageLibraries" = true; "dart.debugSdkLibraries" = true; @@ -108,9 +106,9 @@ }; "indentRainbow.ignoreErrorLanguages" = ["*"]; "dart.runPubGetOnPubspecChanges" = "never"; - }); + }; - "/home/quadradical/.config/VSCodium/User/keybindings.json"."L+".argument = toString ((pkgs.formats.json {}).generate "settings.json" [ + "/home/quadradical/.config/VSCodium/User/keybindings.json".source = builtins.toJSON [ { key = "ctrl+s"; command = "workbench.action.files.saveAll"; @@ -119,6 +117,6 @@ key = "ctrl+s"; command = "-workbench.action.files.save"; } - ]); + ]; }; } diff --git a/modules/graphical/librewolf/default.nix b/modules/graphical/librewolf/default.nix index 6bee559..5b65f6f 100644 --- a/modules/graphical/librewolf/default.nix +++ b/modules/graphical/librewolf/default.nix @@ -7,10 +7,8 @@ }: { environment.etc."librewolf/policies/policies.json".source = config.environment.etc."firefox/policies/policies.json".source; - systemd.tmpfiles.settings.librewolf = { - "/home/quadradical/.librewolf"."d".user = "quadradical"; - "/home/quadradical/.librewolf/quadradical"."d".user = "quadradical"; - "/home/quadradical/.librewolf/profiles.ini"."L+".argument = toString ((pkgs.formats.ini {}).generate "profiles.ini" { + users.users.quadradical.maid.file.home = { + ".librewolf/profiles.ini".source = (pkgs.formats.ini {}).generate "profiles.ini" { General = { StartWithLastProfile = 1; }; @@ -20,8 +18,9 @@ Name = "quadradical"; Path = Name; }; - }); - "/home/quadradical/.librewolf/quadradical/chrome"."L+".argument = + }; + + "/home/quadradical/.librewolf/quadradical/chrome".source = toString (pkgs.symlinkJoin { name = "firefox-gnome-theme";