diff --git a/darwin/settings.nix b/darwin/settings.nix index 88d11b2..a62d9c3 100644 --- a/darwin/settings.nix +++ b/darwin/settings.nix @@ -38,6 +38,10 @@ orientation = "left"; persistent-apps = [ { app = "/Users/phil/Applications/Home Manager Apps/kitty.app"; } + { app = "/Users/phil/Applications/Home Manager Apps/Vesktop.app"; } + { app = "/Users/phil/Applications/Home Manager Apps/Spotify.app"; } + { app = "/Users/phil/Applications/Home Manager Apps/Floorp.app"; } + { app = "/Users/phil/Applications/Home Manager Apps/Obsidian.app"; } { app = "/Applications/Launchpad.app"; } # Doenst Work? ]; show-recents = false; diff --git a/flake.lock b/flake.lock index c970d17..5538a67 100644 --- a/flake.lock +++ b/flake.lock @@ -37,7 +37,39 @@ "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?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -97,7 +129,58 @@ "type": "github" } }, + "nixcord": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1766917993, + "narHash": "sha256-Hf5T3qQX4hgGQITFSCqsIorMo0FxcI4TsygB1iruUeU=", + "owner": "kaylorben", + "repo": "nixcord", + "rev": "63871baa87897231803d617eab908261caa5907c", + "type": "github" + }, + "original": { + "owner": "kaylorben", + "repo": "nixcord", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1766201043, + "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b3aad468604d3e488d627c0b43984eb60e75e782", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1761765539, + "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1751949589, "narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=", @@ -113,7 +196,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1766653575, "narHash": "sha256-TPgxCS7+hWc4kPhzkU5dD2M5UuPhLuuaMNZ/IpwKQvI=", @@ -129,10 +212,26 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1766651565, + "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_3", "systems": "systems" }, "locked": { @@ -154,8 +253,29 @@ "darwin": "darwin", "home-manager": "home-manager", "nix-homebrew": "nix-homebrew", - "nixpkgs": "nixpkgs", - "nixvim": "nixvim" + "nixcord": "nixcord", + "nixpkgs": "nixpkgs_2", + "nixvim": "nixvim", + "spicetify-nix": "spicetify-nix" + } + }, + "spicetify-nix": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1766897356, + "narHash": "sha256-oKp9luuuXuMoUwpGUKUdt0G7lZGovcyOEI3guG0rNCw=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "6b49c4094e93629af2fcf789e0897450f57e2551", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" } }, "systems": { @@ -172,6 +292,21 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 85dc2a6..2260bf6 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,12 @@ # declarative Neovim nixvim.url = "github:nix-community/nixvim"; + # declarative Discord + nixcord.url = "github:kaylorben/nixcord"; + + # declarative Spotify + spicetify-nix.url = "github:Gerg-L/spicetify-nix"; + }; outputs = diff --git a/home/default.nix b/home/default.nix index eb9bb45..9904532 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,10 +1,21 @@ { primaryUser, inputs, ... }: { imports = [ - inputs.nixvim.homeModules.nixvim - ./neovim + ./packages.nix ./git.nix ./shell.nix + + inputs.nixvim.homeModules.nixvim + ./neovim + + inputs.nixcord.homeModules.nixcord + ./nixcord.nix + + inputs.spicetify-nix.homeManagerModules.default + ./spicetify.nix + + ./floorp.nix + ./obsidian.nix ]; home = { diff --git a/home/floorp.nix b/home/floorp.nix new file mode 100644 index 0000000..3d8eba2 --- /dev/null +++ b/home/floorp.nix @@ -0,0 +1,7 @@ +_: { + programs.floorp = { + enable = true; + # darwinDefaultsId = "com.developer.app"; + + }; +} diff --git a/home/neovim/alpha.nix b/home/neovim/alpha.nix index 440a1ed..325dd23 100644 --- a/home/neovim/alpha.nix +++ b/home/neovim/alpha.nix @@ -100,6 +100,20 @@ hl_shortcut = "Keyword"; }; } + { + type = "button"; + val = "[A] Open Prompt"; + #on_press.__raw = "function() require('yazi').yazi() end"; + opts = { + keymap = [ "n" "a" ":AvanteChatNew" { } ]; + shortcut = "y"; + position = "center"; + cursor = 3; + width = 50; + align_shortcut = "right"; + hl_shortcut = "Keyword"; + }; + } { type = "button"; val = "[X] Quit"; diff --git a/home/neovim/avante.nix b/home/neovim/avante.nix index 505d442..302123e 100644 --- a/home/neovim/avante.nix +++ b/home/neovim/avante.nix @@ -1,10 +1,10 @@ { pkgs, ... }: { # Avante: AI-powered coding assistant (Cursor-like experience in Neovim) programs.nixvim = { - extraConfigLuaPre = '' - vim.env.GROQ_API_KEY = os.getenv("GROQ_API_KEY") - ''; - + #extraConfigLuaPre = '' + # vim.env.GROQ_API_KEY = os.getenv("GROQ_API_KEY") + #''; + # TODO: Integrate CoPilot https://github.com/settings/copilot/features plugins.avante = { enable = true; autoLoad = true; @@ -13,21 +13,20 @@ providers.groq = { __inherited_from = "openai"; - api_key_name = - "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"; + api_key_name = "GROQ_API_KEY"; endpoint = "https://api.groq.com/openai/v1/"; - model = "llama-3.3-70b-versatile"; + model = "groq/compound-mini"; disable_tools = true; extra_request_body = { temperature = 1; - max_tokens = 32768; + max_tokens = 8192; }; }; - auto_suggestions_provider = "copilot"; + # auto_suggestions_provider = "copilot"; behaviour = { - auto_suggestions = true; + auto_suggestions = false; auto_set_highlight_group = true; auto_set_keymaps = true; auto_apply_diff_after_generation = false; diff --git a/home/nixcord.nix b/home/nixcord.nix new file mode 100644 index 0000000..171e6aa --- /dev/null +++ b/home/nixcord.nix @@ -0,0 +1,32 @@ +{ lib, ... }: { + programs.nixcord = { + enable = true; + discord = lib.mkForce { enable = false; }; + vesktop.enable = true; + + config = { + useQuickCss = true; + themeLinks = [ + "https://raw.githubusercontent.com/catppuccin/discord/refs/heads/main/themes/mocha.theme.css" + ]; + frameless = true; + plugins = { + betterFolders.enable = true; + betterRoleContext.enable = true; + mentionAvatars.enable = true; + # copyUserURLs.enable = true; + fakeNitro.enable = true; + decor.enable = true; + accountPanelServerProfile.enable = true; + copyFileContents.enable = true; + fakeProfileThemes.enable = true; + friendsSince.enable = true; + implicitRelationships.enable = true; + # noTrack.enable = true; + permissionsViewer.enable = true; + serverInfo.enable = true; + translate.enable = true; + }; + }; + }; +} diff --git a/home/obsidian.nix b/home/obsidian.nix new file mode 100644 index 0000000..e5e84e5 --- /dev/null +++ b/home/obsidian.nix @@ -0,0 +1,4 @@ +_: { + # TODO: Add Automatic Vault pull and detection + programs.obsidian.enable = true; +} diff --git a/home/spicetify.nix b/home/spicetify.nix new file mode 100644 index 0000000..4eab067 --- /dev/null +++ b/home/spicetify.nix @@ -0,0 +1,32 @@ +{ pkgs, inputs, ... }: { + programs.spicetify = + let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; + in { + enable = true; + spotifyPackage = pkgs.spotify; + theme = spicePkgs.themes.catppuccin; + colorScheme = "mocha"; + + enabledExtensions = with spicePkgs.extensions; [ + bookmark + fullAppDisplay + keyboardShortcut + popupLyrics + shuffle + autoVolume + betterGenres + adblock + wikify + songStats + ]; + + enabledCustomApps = with spicePkgs.apps; [ + lyricsPlus + newReleases + marketplace + ]; + + #enabledSnippets = with spicePkgs.snippets; [ ]; + + }; +}