1
0
Fork 0
nix-homemanager-laptop/home.nix

433 lines
25 KiB
Nix

{ pkgs, nixgl, config, ... }:
let
localFastModel = "qwen2.5-coder-num_ctx";
localReasoningModel = "deepseek-r1-num_ctx";
remoteFastModel = "deepseek/deepseek-chat-v3-0324:free"; # "qwen/qwen-2.5-coder-32b-instruct:free";
remoteReasoningModel = "deepseek/deepseek-r1-0528:free";
in
{
nixGL = {
packages = import nixgl {
inherit pkgs;
enable32bits = false;
enableIntelX86Extensions = false;
};
defaultWrapper = "mesa";
installScripts = [ "mesa" ];
vulkan.enable = true;
};
home = {
stateVersion = "24.11";
username = "sudoer777";
homeDirectory = "/home/sudoer777";
language.base = "eo.utf8";
packages = [
pkgs.nixd
pkgs.nil
pkgs.nixfmt-rfc-style
pkgs.teams-for-linux # TODO: Move to flake in UTD folder
# pkgs.simplex-chat-desktop - not available on aarch64
pkgs.signal-desktop
pkgs.bitwarden-desktop # TODO: switch to rbw
pkgs.element-desktop # TODO: switch to programs.element-desktop
pkgs.logseq # TODO: switch to joplin-desktop
(config.lib.nixGL.wrap pkgs.kdePackages.audiotube)
pkgs.librewolf # TODO: switch to programs.librewolf
# pkgs.firefoxpwa - requires system access
# pkgs.widevine-cdm - doesn't work
# pkgs.firefox
pkgs.lsp-ai
pkgs.zed-editor-fhs # TODO: switch to programs.zed-editor
pkgs.uutils-coreutils-noprefix
pkgs.uutils-diffutils
pkgs.uutils-findutils
pkgs.util-linux # TODO: switch to uutils when available
pkgs.iputils
pkgs.procps # TODO: switch to uutils when available
pkgs.procs
# pkgs.sudo-rs - TODO: should be used on NixOS
pkgs.psmisc
pkgs.dino
pkgs.julia
pkgs.telegram-desktop
pkgs.gzip
pkgs.gnutar
pkgs.iproute2
pkgs.ncurses
pkgs.bzip3
pkgs.xz
pkgs.ladybird
pkgs.kdePackages.falkon
pkgs.curl
pkgs.wget
pkgs.mailutils
pkgs.lsof
pkgs.strace
pkgs.tcpdump
pkgs.file
pkgs.e2fsprogs
pkgs.speedtest-cli
pkgs.pijul
pkgs.lm_sensors
pkgs.libreoffice-fresh
pkgs.kdePackages.dolphin
pkgs.mupdf
pkgs.acpi
# pkgs.cacert - TODO: should be used on NixOS
# pkgs.cups - TODO: should be used on NixOS
# pkgs.languagetool - TODO: should be used on NixOS
# (config.lib.nixGL.wrap pkgs.firefox-devedition)
# pkgs.slacky - doesn't work, requires update
# pkgs.high-tide - doesn't work
# pkgs.tidal-hifi - aarch64 build broken
];
file = {};
sessionVariables = {};
};
programs = {
home-manager = {
enable = true;
};
chromium = {
enable = true;
};
freetube = {
enable = true;
package = (config.lib.nixGL.wrap pkgs.freetube);
settings = {
rememberHistory = false;
rememberSearchHistory = false;
saveWatchedProgress = false;
checkForUpdates = false;
autoplayVideos = false;
useSponsorBlock = true;
useDeArrowTitles = true;
useDeArrowThumbnails = true;
};
};
mpv = {
enable = true;
};
feh = {
enable = true;
};
# TODO: Disable Guix integration
# zathura = {
# enable = true;
# };
man = {
enable = true;
};
# TODO: Disable Guix integration
# password-store = {
# enable = true;
# };
bat = {
enable = true;
};
nix-your-shell = {
enable = true;
};
wezterm = {
enable = true;
};
fzf = {
enable = true;
};
vim = {
enable = true;
};
yt-dlp = {
enable = true;
};
# TODO: Disable Guix integration
# helix = {
# enable = true;
# defaultEditor = true;
# settings = {
# editor.soft-wrap = {
# enable = true;
# };
# };
# };
# TODO: Disable Guix integration
# nushell = {
# enable = true;
# settings = {
# completions = {
# algorithm = "fuzzy";
# external.enable = true;
# };
# };
# shellAliases = {
# aichat_reasoning_remote = "aichat --model openrouter:${remoteReasoningModel}";
# aichat_reasoning_local = "aichat --model ollama:${localReasoningModel}";
# aichat_fast_remote = "aichat --model openrouter:${remoteFastModel}";
# aichat_fast_local = "aichat --model ollama:${localFastModel}";
# codex_remote = "codex --provider openrouter --model ${remoteFastModel}";
# codex_local = "codex --provider ollama --model ${localFastModel}";
# };
# };
# TODO: Disable Guix integration
# starship = {
# enable = true;
# };
# carapace = {
# enable = true;
# };
# TODO: Disable Guix integration
# kitty = {
# enable = true;
# enableGitIntegration = true;
# font = {
# package = pkgs.nerd-fonts.jetbrains-mono;
# # Add name?
# };
# settings = {
# clipboard_control = ["write-primary" "write-clipboard" "no-append"];
# };
# };
# TODO: Disable Guix integration
# git = {
# enable = true;
# delta = {
# enable = true;
# };
# signing = {
# format = "openpgp";
# signByDefault = true;
# };
# userEmail = "contact@ethanreece.com";
# userName = "Ethan Reece";
# };
gh = {
enable = true;
settings = {
git_protocol = "ssh";
};
};
jujutsu = {
enable = true;
settings = {
user = {
name = "Ethan Reece";
email = "contact@ethanreece.com";
};
signing = {
behavior = "own";
backend = "gpg";
};
};
};
codex = {
enable = true;
custom-instructions = ''
## 10. Applying Patch Files with patch
When the built-in `apply_patch` tool or `git apply` fails to apply a diff/patch file (especially if the file being patched contains special characters that might confuse simpler patch tools), the standard `patch` utility can be a more robust alternative.
- **Patch File Format**: Ensure your patch file is in a standard unified diff format. Typically, these patches are generated with `git diff > my_feature.patch` or manually crafted. If the patch refers to files with `a/` and `b/` prefixes (e.g., `--- a/file.txt`, `+++ b/file.txt`), you'll use the `-p1` option.
- **Creating the Patch File**: You can create a patch file using shell redirection, for example:
```bash`
cat <<'EOF' > fix_descriptive_name.patch
--- a/path/to/your/file.ext
+++ b/path/to/your/file.ext
@@ -line_num,num_lines +line_num,num_lines @@ context_or_change
-old_line_content
+new_line_content
EOF
```
*Important*: Ensure the `EOF` marker is on its own line with no trailing spaces.
- **Applying the Patch**: Use the `patch` command via the `shell` tool. The `-p1` option strips the leading component from file paths in the patch file (`a/`, `b/`).
```
# Example: Apply a patch file
default_api.shell(command=["sh", "-c", "patch -p1 < fix_descriptive_name.patch"])
```
- **Verification**: After applying, always verify that the target file has been changed as expected (e.g., using `cat` or `git diff`).
- **Cleanup**: Remove the patch file if it's no longer needed:
```
default_api.shell(command=["rm", "fix_descriptive_name.patch"])
```
'';
settings = {
model = "${localFastModel}";
provider = "ollama";
providers = {
ollama = {
name = "Ollama";
baseURL = "http://localhost:11434/v1";
envKey = "OLLAMA_API_KEY";
};
openrouter = {
name = "OpenRouter";
baseURL = "https://openrouter.ai/api/v1";
envKey = "OPENROUTER_API_KEY";
};
};
};
};
aichat = {
enable = true;
settings = {
model = "ollama:${localFastModel}";
clients = [
{
type = "openai-compatible";
name = "ollama";
api_base = "http://localhost:11434/v1";
models = [
{
name = "${localFastModel}";
supports_function_calling = true;
supports_vision = true;
}
{
name = "${localReasoningModel}";
supports_function_calling = true;
supports_vision = true;
}
];
}
{
type = "openai-compatible";
name = "openrouter";
api_base = "https://openrouter.ai/api/v1";
models = [
{
name = "${remoteFastModel}";
supports_function_calling = true;
supports_vision = true;
}
{
name = "${remoteReasoningModel}";
supports_function_calling = true;
supports_vision = true;
}
];
}
];
};
};
direnv = {
enable = true;
mise.enable = true;
nix-direnv.enable = true;
};
vesktop = {
enable = true;
package = (config.lib.nixGL.wrap pkgs.vesktop);
settings = {
discordBranch = "canary";
minimizeToTray = true;
arRPC = true;
splashColor = "color(srgb 0.862745 0.862745 0.870588)";
splashBackground = "rgb(11, 12, 13)";
splashTheming = false;
openLinksWithElectron = false;
spellCheckLanguages = [ "en-US" "en" ];
vencord = {
settings = { autoUpdate = true; autoUpdateNotification = true; cloud = { authenticated = true; settingsSync = true; settingsSyncVersion = 1748815333669; url = "https://api.vencord.dev/"; }; disableMinSize = false; eagerPatches = false; enableReactDevtools = false; enabledThemes = [ ]; frameless = false; macosTranslucency = false; notifications = { logLimit = 50; position = "bottom-right"; timeout = 5000; useNative = "not-focused"; }; notifyAboutUpdates = true; plugins = { AccountPanelServerProfile = { enabled = true; }; AlwaysAnimate = { enabled = false; }; AlwaysExpandRoles = { enabled = true; }; AlwaysTrust = { domain = true; enabled = true; file = true; }; AnonymiseFileNames = { anonymiseByDefault = true; enabled = true; method = 0; randomisedLength = 7; }; AppleMusicRichPresence = { enabled = false; }; AutomodContext = { enabled = true; }; BANger = { enabled = true; }; BadgeAPI = { enabled = true; }; BetterFolders = { closeAllFolders = false; closeAllHomeButton = false; enabled = true; forceOpen = false; keepIcons = false; showFolderIcon = 1; sidebar = true; sidebarAnim = true; }; BetterGifAltText = { enabled = true; }; BetterGifPicker = { enabled = true; }; BetterNotesBox = { enabled = true; hide = false; noSpellCheck = false; }; BetterRoleContext = { enabled = true; }; BetterRoleDot = { bothStyles = false; copyRoleColorInProfilePopout = false; enabled = true; }; BetterSessions = { backgroundCheck = false; enabled = true; }; BetterSettings = { disableFade = true; eagerLoad = true; enabled = true; }; BetterUploadButton = { enabled = true; }; BiggerStreamPreview = { enabled = true; }; BlurNSFW = { enabled = false; }; CallTimer = { enabled = true; }; ChatInputButtonAPI = { enabled = true; }; ClearURLs = { enabled = true; }; ClientTheme = { color = "313338"; enabled = true; }; ColorSighted = { enabled = true; }; CommandsAPI = { enabled = true; }; ConsoleJanitor = { enabled = false; }; ConsoleShortcuts = { enabled = true; }; ContextMenuAPI = { enabled = true; }; CopyEmojiMarkdown = { enabled = true; }; CopyFileContents = { enabled = true; }; CopyUserURLs = { enabled = true; }; CrashHandler = { attemptToNavigateToHome = false; attemptToPreventCrashes = true; enabled = true; }; CtrlEnterSend = { enabled = true; sendMessageInTheMiddleOfACodeBlock = true; submitRule = "ctrl+enter"; }; CustomIdle = { enabled = true; idleTimeout = 10; remainInIdle = true; }; CustomRPC = { enabled = true; type = 0; }; Dearrow = { dearrowByDefault = true; enabled = true; hideButton = false; replaceElements = 0; }; Decor = { enabled = true; }; DisableCallIdle = { enabled = false; }; DontRoundMyTimestamps = { enabled = true; }; DynamicImageModalAPI = { enabled = true; }; Experiments = { enableIsStaff = false; enabled = true; toolbarDevMenu = false; }; ExpressionCloner = { enabled = true; }; F8Break = { enabled = true; }; FakeNitro = { enableEmojiBypass = true; enableStickerBypass = true; enableStreamQualityBypass = true; enabled = true; transformCompoundSentence = false; transformEmojis = true; transformStickers = true; }; FakeProfileThemes = { enabled = true; nitroFirst = true; }; FavoriteEmojiFirst = { enabled = true; }; FavoriteGifSearch = { enabled = true; }; FixCodeblockGap = { enabled = true; }; FixImagesQuality = { enabled = true; }; FixSpotifyEmbeds = { enabled = true; }; FixYoutubeEmbeds = { enabled = true; }; ForceOwnerCrown = { enabled = true; }; FriendInvites = { enabled = true; }; FriendsSince = { enabled = true; }; FullSearchContext = { enabled = true; }; FullUserInChatbox = { enabled = true; }; GameActivityToggle = { enabled = true; oldIcon = false; }; GifPaste = { enabled = true; }; GreetStickerPicker = { enabled = true; }; HideMedia = { enabled = true; }; IgnoreActivities = { enabled = true; ignoredActivities = [ ]; }; ImageLink = { enabled = true; }; ImageZoom = { enabled = true; nearestNeighbour = false; saveZoomValues = true; size = 100; square = false; zoom = 2; }; ImplicitRelationships = { enabled = true; sortByAffinity = true; }; InvisibleChat = { enabled = true; }; IrcColors = { applyColorOnlyInDms = false; applyColorOnlyToUsersWithoutColor = false; enabled = true; lightness = 70; memberListColors = true; }; KeepCurrentChannel = { enabled = true; }; LastFMRichPresence = { enabled = true; hideWithActivity = false; hideWithSpotify = true; }; LoadingQuotes = { additionalQuotes = ""; additionalQuotesDelimiter = "|"; enableDiscordPresetQuotes = false; enablePluginPresetQuotes = true; enabled = true; replaceEvents = true; }; MaskedLinkPaste = { enabled = true; }; MemberCount = { enabled = true; memberList = true; toolTip = true; }; MemberListDecoratorsAPI = { enabled = true; }; MentionAvatars = { enabled = true; showAtSymbol = true; }; MessageAccessoriesAPI = { enabled = true; }; MessageClickActions = { enableDoubleClickToEdit = true; enableDoubleClickToReply = true; enabled = true; requireModifier = false; }; MessageDecorationsAPI = { enabled = true; }; MessageEventsAPI = { enabled = true; }; MessageLatency = { detectDiscordKotlin = true; enabled = true; latency = 2; showMillis = false; }; MessageLinkEmbeds = { automodEmbeds = "never"; enabled = true; idList = ""; listMode = "blacklist"; }; MessageLogger = { collapseDeleted = false; deleteStyle = "text"; enabled = true; ignoreBots = false; ignoreChannels = ""; ignoreGuilds = ""; ignoreSelf = false; ignoreUsers = ""; inlineEdits = true; logDeletes = true; logEdits = true; }; MessagePopoverAPI = { enabled = true; }; MessageTags = { enabled = true; tagsList = { }; }; MessageUpdaterAPI = { enabled = true; }; MoreCommands = { enabled = true; }; MoreKaomoji = { enabled = true; }; MoreUserTags = { enabled = true; tagSettings = { ADMINISTRATOR = { showInChat = true; showInNotChat = true; text = "Admin"; }; CHAT_MODERATOR = { showInChat = true; showInNotChat = true; text = "Chat Mod"; }; MODERATOR = { showInChat = true; showInNotChat = true; text = "Mod"; }; MODERATOR_STAFF = { showInChat = true; showInNotChat = true; text = "Staff"; }; OWNER = { showInChat = true; showInNotChat = true; text = "Owner"; }; VOICE_MODERATOR = { showInChat = true; showInNotChat = true; text = "VC Mod"; }; WEBHOOK = { showInChat = true; showInNotChat = true; text = "Webhook"; }; }; }; Moyai = { enabled = true; ignoreBlocked = true; ignoreBots = true; }; MutualGroupDMs = { enabled = true; }; NSFWGateBypass = { enabled = true; }; NewGuildSettings = { enabled = true; }; NoBlockedMessages = { enabled = false; }; NoDefaultHangStatus = { enabled = false; }; NoDevtoolsWarning = { enabled = true; }; NoF1 = { enabled = true; }; NoMaskedUrlPaste = { enabled = false; }; NoMosaic = { enabled = true; inlineVideo = true; mediaLayoutType = "STATIC"; }; NoOnboardingDelay = { enabled = true; }; NoPendingCount = { enabled = true; hideFriendRequestsCount = true; hideMessageRequestsCount = true; hidePremiumOffersCount = true; }; NoProfileThemes = { enabled = false; }; NoReplyMention = { enabled = true; inverseShiftReply = false; shouldPingListed = true; userList = "1234567890123445,1234567890123445"; }; NoScreensharePreview = { enabled = false; }; NoServerEmojis = { enabled = false; }; NoTrack = { disableAnalytics = true; enabled = true; }; NoTypingAnimation = { enabled = false; }; NoUnblockToJump = { enabled = true; }; NormalizeMessageLinks = { enabled = true; }; NoticesAPI = { enabled = true; }; NotificationVolume = { enabled = true; notificationVolume = 100; }; OnePingPerDM = { allowEveryone = false; allowMentions = false; channelToAffect = "both_dms"; enabled = true; }; OpenInApp = { enabled = true; epic = true; itunes = true; spotify = true; steam = true; tidal = true; }; OverrideForumDefaults = { defaultLayout = 1; defaultSortOrder = 0; enabled = true; }; PartyMode = { enabled = true; superIntensePartyMode = 0; }; PauseInvitesForever = { enabled = true; }; PermissionFreeWill = { enabled = true; lockout = true; onboarding = true; }; PermissionsViewer = { enabled = true; }; PictureInPicture = { enabled = true; }; PinDMs = { canCollapseDmSection = false; dmSectionCollapsed = false; enabled = true; pinOrder = 0; userBasedCategoryList = { "523873759086772230" = [ ]; }; }; PlainFolderIcon = { enabled = true; }; PlatformIndicators = { badges = true; colorMobileIndicator = true; enabled = true; list = true; messages = true; }; PreviewMessage = { enabled = true; }; QuickMention = { enabled = true; }; QuickReply = { enabled = true; }; ReactErrorDecoder = { enabled = true; }; ReadAllNotificationsButton = { enabled = true; }; RelationshipNotifier = { enabled = true; friendRequestCancels = true; friends = true; groups = true; offlineRemovals = true; servers = true; }; ReplaceGoogleSearch = { enabled = true; }; ReplyTimestamp = { enabled = true; }; ResurrectHome = { enabled = true; forceServerHome = false; }; RevealAllSpoilers = { enabled = true; }; ReverseImageSearch = { enabled = true; }; ReviewDB = { enabled = true; notifyReviews = true; }; RoleColorEverywhere = { chatMentions = true; colorChatMessages = false; enabled = true; memberList = true; pollResults = true; reactorsList = true; voiceUsers = true; }; SecretRingToneEnabler = { enabled = true; onlySnow = false; }; SendTimestamps = { enabled = true; replaceMessageContents = true; }; ServerInfo = { enabled = true; }; ServerListAPI = { enabled = true; }; ServerListIndicators = { enabled = true; mode = 2; }; Settings = { enabled = true; settingsLocation = "aboveActivity"; }; SettingsStoreAPI = { enabled = true; }; ShikiCodeblocks = { enabled = true; theme = "https://raw.githubusercontent.com/shikijs/textmate-grammars-themes/2d87559c7601a928b9f7e0f0dda243d2fb6d4499/packages/tm-themes/themes/dark-plus.json"; useDevIcon = "GREYSCALE"; }; ShowAllMessageButtons = { enabled = true; }; ShowConnections = { enabled = true; iconSize = 32; iconSpacing = 1; }; ShowHiddenChannels = { defaultAllowedUsersAndRolesDropdownState = true; enabled = true; hideUnreads = true; showMode = 0; }; ShowHiddenThings = { disableDisallowedDiscoveryFilters = true; disableDiscoveryFilters = true; enabled = true; showInvitesPaused = true; showModView = true; showTimeouts = true; }; ShowMeYourName = { displayNames = false; enabled = true; inReplies = false; mode = "user-nick"; }; ShowTimeoutDuration = { enabled = true; }; SilentMessageToggle = { enabled = true; }; SilentTyping = { enabled = false; }; SortFriendRequests = { enabled = true; showDates = false; }; SpotifyControls = { enabled = true; hoverControls = false; }; SpotifyCrack = { enabled = true; keepSpotifyActivityOnIdle = false; noSpotifyAutoPause = true; }; SpotifyShareCommands = { enabled = true; }; StartupTimings = { enabled = true; }; StickerPaste = { enabled = true; }; StreamerModeOnStream = { enabled = true; }; Summaries = { enabled = true; summaryExpiryThresholdDays = 3; }; SuperReactionTweaks = { enabled = true; superReactionPlayingLimit = 20; unlimitedSuperReactionPlaying = false; }; SupportHelper = { enabled = true; }; TextReplace = { enabled = true; regexRules = [ { find = ""; onlyIfIncludes = ""; replace = ""; } ]; stringRules = [ { find = ""; onlyIfIncludes = ""; replace = ""; } ]; }; ThemeAttributes = { enabled = true; }; TimeBarAllActivities = { enabled = true; }; Translate = { autoTranslate = false; enabled = true; showChatBarButton = true; }; TypingIndicator = { enabled = true; includeCurrentChannel = true; includeMutedChannels = false; indicatorMode = 3; }; TypingTweaks = { alternativeFormatting = true; enabled = true; showAvatars = true; showRoleColors = true; }; USRBG = { enabled = true; voiceBackground = true; }; Unindent = { enabled = true; }; UnlockedAvatarZoom = { enabled = true; }; UnsuppressEmbeds = { enabled = true; }; UrbanDictionary = { enabled = true; }; UserMessagesPronouns = { enabled = true; pronounSource = 0; pronounsFormat = "LOWERCASE"; showInMessages = true; showInProfile = true; showSelf = true; }; UserSettingsAPI = { enabled = true; }; UserVoiceShow = { enabled = true; showInMemberList = true; showInMessages = true; showInUserProfileModal = true; }; ValidReply = { enabled = true; }; ValidUser = { enabled = true; }; VcNarrator = { enabled = true; joinMessage = "{{USER}} joined"; latinOnly = false; rate = 1; sayOwnName = false; volume = 1; }; VencordToolbox = { enabled = true; }; ViewIcons = { enabled = true; }; ViewRaw = { clickMethod = "Left"; enabled = true; }; VoiceChatDoubleClick = { enabled = true; }; VoiceDownload = { enabled = true; }; VoiceMessages = { enabled = true; }; VolumeBooster = { enabled = true; }; WebContextMenus = { addBack = false; enabled = true; }; WebKeybinds = { enabled = true; }; "WebRichPresence (arRPC)" = { enabled = true; }; WebScreenShareFixes = { enabled = true; }; WhoReacted = { enabled = true; }; Wikisearch = { enabled = true; }; XSOverlay = { enabled = false; }; YoutubeAdblock = { enabled = true; }; iLoveSpam = { enabled = false; }; oneko = { enabled = true; }; petpet = { enabled = true; }; }; themeLinks = [ "https://clearvision.github.io/ClearVision-v7/main.css" ]; transparent = true; useQuickCss = true; winCtrlQ = false; winNativeTitleBar = false; };
useSystem = true;
};
};
};
floorp = { # TODO: Add nixOS configuration bookmark, helix language and formatter
enable = true;
package = (config.lib.nixGL.wrap pkgs.floorp);
languagePacks = [
"eo"
"en"
];
profiles.main = {
# extensions = {
# packages = with pkgs.nur.repos.rycee.firefox-addons; [
# ublock-origin
# ];
# };
isDefault = true;
name = "Main";
settings = {
autoDisableScopes = 0;
};
bookmarks = {
force = true;
settings = [
{
name = "Comet Calendar";
url = "https://calendar.utdallas.edu/";
}
{
name = "UT Dallas Map";
url = "https://map.utdallas.edu/";
}
{
name = "eLearning";
url = "https://elearning.utdallas.edu/";
}
{
name = "DART Trip Planner";
url = "https://www.dart.org/trip/trip-planner/trip-planner-map";
}
{
name = "Guix Packages";
url = "https://toys.whereis.social/";
}
{
name = "Syncthing Docker";
url = "http://docker:8384/";
}
{
name = "Syncthing Local";
url = "http://localhost:8384/";
}
{
name = "NixOS Package Search";
url = "https://search.nixos.org/packages";
}
{
name = "TrueNAS";
url = "https://10.10.10.5:444/";
}
{
name = "Proxmox";
url = "https://gamingserver:8006";
}
{
name = "Portainer";
url = "http://docker:9000";
}
{
name = "ArchiveTeam Warrior";
url = "http://docker:8001/";
}
{
name = "The Indie Beat";
url = "https://theindiebeat.fm/";
}
{
name = "OpenRouter Chat";
url = "https://openrouter.ai/chat";
}
{
name = "Home Manager Configuration Options";
url = "https://nix-community.github.io/home-manager/options.xhtml";
}
];
};
};
};
};
services = {
arrpc.enable = true;
};
targets.genericLinux.enable = true;
}