diff --git a/flake.lock b/flake.lock index fa4bc31..e4948eb 100644 --- a/flake.lock +++ b/flake.lock @@ -35,6 +35,20 @@ "type": "github" } }, + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -75,7 +89,44 @@ "type": "github" } }, + "nixcord": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs", + "systems": "systems", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1747878048, + "narHash": "sha256-kAR4Ox+vShPzsUar/1rHarRgUBPpm7hxwi7sIffNYa4=", + "owner": "kaylorben", + "repo": "nixcord", + "rev": "5f737debf65b8409392604098a7489d997746450", + "type": "github" + }, + "original": { + "owner": "kaylorben", + "repo": "nixcord", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1747744144, "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", @@ -91,7 +142,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -113,13 +164,14 @@ "easy-hosts": "easy-hosts", "flake-parts": "flake-parts", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixcord": "nixcord", + "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1747603214, @@ -134,6 +186,41 @@ "repo": "sops-nix", "type": "github" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "id": "systems", + "type": "indirect" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixcord", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1744961264, + "narHash": "sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "8d404a69efe76146368885110f29a2ca3700bee6", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 2933e6e..ac16c09 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,10 @@ url = "github:catppuccin/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + + nixcord = { + url = "github:kaylorben/nixcord"; + }; }; outputs = {flake-parts, ...} @ inputs: diff --git a/homes/x86_64-linux/jo/apps/discord/default.nix b/homes/x86_64-linux/jo/apps/discord/default.nix new file mode 100644 index 0000000..dfa7e9a --- /dev/null +++ b/homes/x86_64-linux/jo/apps/discord/default.nix @@ -0,0 +1,53 @@ +{ + lib, + config, + ... +}: let + inherit (lib) mkIf; +in { + # Enable arRPC for discord Rich Presence stuffs + services.arrpc.enable = true; + + programs.nixcord = { + enable = true; + vesktop.enable = true; + discord.enable = false; + + config = { + useQuickCss = true; + themeLinks = [ + (mkIf config.catppuccin.enable "https://catppuccin.github.io/discord/dist/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css") + ]; + + frameless = true; + plugins = { + betterFolders = { + enable = true; + closeAllFolders = true; + closeAllHomeButton = true; + closeOthers = true; + }; + + fakeNitro = { + enable = true; + enableStickerBypass = false; + enableEmojiBypass = false; + }; + + betterSettings.enable = true; + betterUploadButton.enable = true; + blurNSFW.enable = true; + clearURLs.enable = true; + callTimer.enable = true; + consoleJanitor.enable = true; + copyEmojiMarkdown.enable = true; + userMessagesPronouns.enable = true; + reviewDB.enable = true; + + # Vesktop exclusive + webRichPresence.enable = true; + webScreenShareFixes.enable = true; + }; + }; + }; +} diff --git a/homes/x86_64-linux/jo/default.nix b/homes/x86_64-linux/jo/default.nix index 28905a6..b042fde 100644 --- a/homes/x86_64-linux/jo/default.nix +++ b/homes/x86_64-linux/jo/default.nix @@ -3,6 +3,10 @@ config, ... }: { + imports = [ + ./apps/discord + ]; + puzzlevision = { themes.catppuccin.enable = true; apps.zed.enable = true; @@ -17,7 +21,6 @@ home.packages = with pkgs; [ ## GENERAL youtube-music - discord ghostty teams-for-linux enpass diff --git a/modules/nixos/users/default.nix b/modules/nixos/users/default.nix index 09416fa..8d0113e 100644 --- a/modules/nixos/users/default.nix +++ b/modules/nixos/users/default.nix @@ -69,7 +69,7 @@ in { mkIf (userConfig.enable && homeConfigExists username) ( {osConfig, ...}: { # Import user home configuration and general home modules - imports = [(getHomeConfigPath username) inputs.sops-nix.homeManagerModules.sops inputs.catppuccin.homeModules.default] ++ homeModules; + imports = [(getHomeConfigPath username) inputs.sops-nix.homeManagerModules.sops inputs.catppuccin.homeModules.default inputs.nixcord.homeModules.nixcord] ++ homeModules; home.stateVersion = lib.mkDefault osConfig.system.stateVersion; }