adds brave browser
adds brave browser search engine inject script adds sqlite and sqlitebrowser updates wireguard vpn peers updates dash-to-dock fav apps adds plexamp updates update.sh to show slightly more logging updates auto-start to clear dead screens before starting stuff
This commit is contained in:
parent
042826cd4f
commit
a26038b47a
@ -10,6 +10,11 @@ apps=(
|
||||
fcitx5
|
||||
)
|
||||
|
||||
# check if screen has any dead sessions
|
||||
if screen -list | grep -q "Dead"; then
|
||||
screen -wipe
|
||||
fi
|
||||
|
||||
echo "Starting auto-start applications..."
|
||||
for app in "${apps[@]}"; do
|
||||
if [ -x "$(command -v $app)" ]; then
|
||||
@ -24,7 +29,3 @@ for app in "${apps[@]}"; do
|
||||
fi
|
||||
done
|
||||
|
||||
# check if screen has any dead sessions
|
||||
if screen -list | grep -q "Dead"; then
|
||||
screen -wipe
|
||||
fi
|
||||
|
@ -93,7 +93,10 @@ symlinks() {
|
||||
}
|
||||
|
||||
sys_packages_upgrade() {
|
||||
printfe "%s\n" "cyan" "Running NixOS channel update..."
|
||||
sudo nix-channel --update
|
||||
|
||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure
|
||||
}
|
||||
|
||||
@ -157,6 +160,8 @@ flatpakpkgs() {
|
||||
}
|
||||
|
||||
homemanager() {
|
||||
printfe "%s\n" "cyan" "Running Home Manager update..."
|
||||
|
||||
# Due to weirdness delete this file if it exists
|
||||
if [ -f "$HOME/.config/mimeapps.list.backup" ]; then
|
||||
echo "Removing mimeapps.list.backup"
|
||||
|
10
config/flatpaks/com.plexamp.Plexamp.flatpakref
Normal file
10
config/flatpaks/com.plexamp.Plexamp.flatpakref
Normal file
@ -0,0 +1,10 @@
|
||||
[Flatpak Ref]
|
||||
Name=com.plexamp.Plexamp
|
||||
Branch=stable
|
||||
Title=com.plexamp.Plexamp from flathub
|
||||
IsRuntime=false
|
||||
Url=https://dl.flathub.org/repo/
|
||||
SuggestRemoteName=flathub
|
||||
GPGKey=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
|
||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
132
config/home-manager/packages/workstation/brave-search-engines.sh
Executable file
132
config/home-manager/packages/workstation/brave-search-engines.sh
Executable file
@ -0,0 +1,132 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BRAVE_DIR="$HOME/.config/BraveSoftware/Brave-Browser/Default"
|
||||
MAX_ATTEMPTS=30 # Maximum number of seconds to wait
|
||||
|
||||
# Function to kill all Brave processes
|
||||
kill_brave() {
|
||||
# Store whether Brave was running
|
||||
if pgrep -x "brave" > /dev/null; then
|
||||
echo "Brave was running, will restart after completion"
|
||||
export BRAVE_WAS_RUNNING=1
|
||||
else
|
||||
export BRAVE_WAS_RUNNING=0
|
||||
fi
|
||||
|
||||
echo "Closing all Brave browser instances..."
|
||||
pkill -x "brave" || true
|
||||
sleep 2 # Give it a moment to clean up
|
||||
|
||||
# Force kill if any processes remain
|
||||
if pgrep -x "brave" > /dev/null; then
|
||||
echo "Force closing remaining Brave processes..."
|
||||
pkill -9 -x "brave" || true
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to check if database is locked
|
||||
is_db_locked() {
|
||||
local db_file="$1"
|
||||
if lsof "$db_file" >/dev/null 2>&1; then
|
||||
return 0 # true, db is locked
|
||||
else
|
||||
return 1 # false, db is not locked
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if profile exists
|
||||
if [ ! -d "$BRAVE_DIR" ]; then
|
||||
echo "Brave profile directory doesn't exist. Please run Brave at least once."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if Web Data exists
|
||||
if [ ! -f "$BRAVE_DIR/Web Data" ]; then
|
||||
echo "Web Data file doesn't exist. Please run Brave at least once."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Kill any running Brave instances
|
||||
kill_brave
|
||||
|
||||
# Wait for database to be unlocked
|
||||
attempts=0
|
||||
while is_db_locked "$BRAVE_DIR/Web Data" && [ $attempts -lt $MAX_ATTEMPTS ]; do
|
||||
echo "Database is locked. Waiting... ($attempts/$MAX_ATTEMPTS)"
|
||||
sleep 1
|
||||
attempts=$((attempts + 1))
|
||||
done
|
||||
|
||||
if is_db_locked "$BRAVE_DIR/Web Data"; then
|
||||
echo "Database is still locked after $MAX_ATTEMPTS seconds. Please ensure Brave is completely closed and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Setting up search engines..."
|
||||
|
||||
# Create temporary file for SQL commands
|
||||
SQLCOMMANDS=$(mktemp)
|
||||
|
||||
cat > $SQLCOMMANDS << 'ENDSQL'
|
||||
DELETE FROM keywords WHERE keyword NOT IN ('@bookmarks', '@history');
|
||||
|
||||
INSERT INTO keywords (
|
||||
short_name, keyword, favicon_url, url, safe_for_autoreplace,
|
||||
date_created, usage_count, input_encodings, suggest_url, prepopulate_id,
|
||||
sync_guid, alternate_urls, last_visited, is_active
|
||||
) VALUES
|
||||
(
|
||||
'Brave', ':br',
|
||||
'https://cdn.search.brave.com/serp/v2/_app/immutable/assets/favicon.acxxetWH.ico',
|
||||
'https://search.brave.com/search?q={searchTerms}&source=desktop',
|
||||
1, 0, 0, 'UTF-8',
|
||||
'https://search.brave.com/api/suggest?q={searchTerms}&rich=true&source=desktop',
|
||||
550, '485bf7d3-0215-45af-87dc-538868000550', '[]', 13376052494948729, 0
|
||||
),
|
||||
(
|
||||
'Google', ':g',
|
||||
'https://www.google.com/images/branding/product/ico/googleg_alldp.ico',
|
||||
'{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:language}{google:prefetchSource}{google:searchClient}{google:sourceId}{google:contextualSearchVersion}ie={inputEncoding}',
|
||||
1, 0, 0, 'UTF-8',
|
||||
'{google:baseSuggestURL}search?{google:searchFieldtrialParameter}client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:inputType}{google:omniboxFocusType}{google:cursorPosition}{google:currentPageUrl}{google:pageClassification}{google:clientCacheTimeToLive}{google:searchVersion}{google:sessionToken}{google:prefetchQuery}sugkey={google:suggestAPIKeyParameter}',
|
||||
1, '485bf7d3-0215-45af-87dc-538868000001', '[]', 0, 0
|
||||
),
|
||||
(
|
||||
'DuckDuckGo', ':d',
|
||||
'https://duckduckgo.com/favicon.ico',
|
||||
'https://duckduckgo.com/?q={searchTerms}&t=brave',
|
||||
1, 0, 0, 'UTF-8',
|
||||
'https://ac.duckduckgo.com/ac/?q={searchTerms}&type=list',
|
||||
501, '485bf7d3-0215-45af-87dc-538868000501', '[]', 0, 0
|
||||
),
|
||||
(
|
||||
'NixOS', 'nix',
|
||||
'https://search.nixos.org/favicon.png',
|
||||
'https://search.nixos.org/packages?query={searchTerms}',
|
||||
1, 13376052510404586, 1, '',
|
||||
'',
|
||||
0, 'bea7b4cd-8693-40d8-8bd0-7f59e0f0eb8d', '[]', 13376052522458505, 1
|
||||
),
|
||||
(
|
||||
'GoLink', 'go',
|
||||
'https://tailscale.com/favicon.ico',
|
||||
'http://go/{searchTerms}',
|
||||
1, 13376052510404586, 1, '',
|
||||
'',
|
||||
0, 'bef7b3cd-8693-40d8-8bd0-5f59e0f0eb8d', '[]', 13376052522458505, 1
|
||||
);
|
||||
ENDSQL
|
||||
|
||||
# Execute SQL commands
|
||||
sqlite3 "$BRAVE_DIR/Web Data" < $SQLCOMMANDS
|
||||
|
||||
# Cleanup
|
||||
rm $SQLCOMMANDS
|
||||
|
||||
echo "Search engines setup completed successfully!"
|
||||
|
||||
# Restart Brave if it was running before
|
||||
if [ "$BRAVE_WAS_RUNNING" = "1" ]; then
|
||||
echo "Restarting Brave..."
|
||||
brave &> /dev/null &
|
||||
fi
|
38
config/home-manager/packages/workstation/brave.nix
Normal file
38
config/home-manager/packages/workstation/brave.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# Copy search engine configuration script
|
||||
home.file.".local/bin/brave-search-engines.sh" = {
|
||||
source = ./brave-search-engines.sh;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
# Run search engine configuration script
|
||||
home.activation = {
|
||||
setBraveSearchEngines = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
PATH="${pkgs.procps}/bin:${pkgs.sqlite}/bin:$PATH" $HOME/.local/bin/brave-search-engines.sh
|
||||
'';
|
||||
};
|
||||
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
package = pkgs.brave;
|
||||
extensions = [
|
||||
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin
|
||||
{ id = "aeblfdkhhhdcdjpifhhbdiojplfjncoa"; } # 1password
|
||||
{ id = "oldceeleldhonbafppcapldpdifcinji"; } # language tool
|
||||
{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; } # sponsor block
|
||||
{ id = "gebbhagfogifgggkldgodflihgfeippi"; } # return youtube dislike
|
||||
{ id = "neebplgakaahbhdphmkckjjcegoiijjo"; } # keepa
|
||||
{ id = "dnhpnfgdlenaccegplpojghhmaamnnfp"; } # augmented steam
|
||||
{ id = "fihnjjcciajhdojfnbdddfaoknhalnja"; } # I don't care about cookies
|
||||
{ id = "gphhapmejobijbbhgpjhcjognlahblep"; } # gnome shell integration
|
||||
{ id = "eadndfjplgieldjbigjakmdgkmoaaaoc"; } # xdebug helper
|
||||
];
|
||||
commandLineArgs = [ ];
|
||||
};
|
||||
}
|
@ -1,7 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||
files = builtins.removeAttrs (builtins.readDir ./.) [
|
||||
"default.nix"
|
||||
"brave-search-engines.sh"
|
||||
];
|
||||
|
||||
# Import all other .nix files as modules
|
||||
moduleFiles = builtins.map (fname: ./. + "/${fname}") (builtins.attrNames files);
|
||||
|
@ -13,6 +13,7 @@
|
||||
gnome-frog # OCR tool
|
||||
gnome.gnome-boxes # Virtual machine manager
|
||||
deja-dup # Backup tool
|
||||
sqlitebrowser # SQLite database manager
|
||||
|
||||
## Chat Apps
|
||||
telegram-desktop
|
||||
|
@ -40,10 +40,10 @@
|
||||
};
|
||||
|
||||
# Pinned apps
|
||||
# add more by listing them with `gsettings list-recursively | grep favorite-apps`
|
||||
# add more by listing them with `gsettings list-recursively | grep favorite-apps | sed "s/,//g; s/'/\"/g"` then copy pasting the output here
|
||||
"org/gnome/shell" = {
|
||||
favorite-apps = [
|
||||
"io.github.zen_browser.zen.desktop"
|
||||
"brave-browser.desktop"
|
||||
"code.desktop"
|
||||
"org.telegram.desktop.desktop"
|
||||
"spotify.desktop"
|
||||
|
@ -4,11 +4,11 @@
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
# Zen Browser
|
||||
"application/xhtml+xml" = [ "io.github.zen_browser.zen.desktop" ];
|
||||
"text/html" = [ "io.github.zen_browser.zen.desktop" ];
|
||||
"x-scheme-handler/http" = [ "io.github.zen_browser.zen.desktop" ];
|
||||
"x-scheme-handler/https" = [ "io.github.zen_browser.zen.desktop" ];
|
||||
# Brave Browser
|
||||
"application/xhtml+xml" = [ "brave-browser.desktop" ];
|
||||
"text/html" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/http" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/https" = [ "brave-browser.desktop" ];
|
||||
|
||||
# Geary
|
||||
"x-scheme-handler/mailto" = [ "org.gnome.Geary.desktop" ];
|
||||
|
@ -12,6 +12,7 @@
|
||||
user-themes
|
||||
weather-oclock
|
||||
native-window-placement
|
||||
kimpanel
|
||||
]
|
||||
++ (with pkgs-unstable.gnomeExtensions; [
|
||||
tiling-shell
|
||||
@ -55,6 +56,7 @@
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = [
|
||||
"kimpanel@kde.org"
|
||||
"lilypad@shendrew.github.io"
|
||||
"tilingshell@ferrarodomenico.com"
|
||||
"gsconnect@andyholmes.github.io"
|
||||
@ -94,6 +96,8 @@
|
||||
|
||||
# Configure dash-to-dock
|
||||
"org/gnome/shell/extensions/dash-to-dock" = {
|
||||
pressure-threshold = 250;
|
||||
require-pressure-to-show = false;
|
||||
apply-custom-theme = false;
|
||||
apply-glossy-effect = false;
|
||||
autohide-in-fullscreen = true;
|
||||
|
@ -17,7 +17,7 @@ services:
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
environment:
|
||||
- PEERS=fold6,pc,laptop
|
||||
- PEERS=s24,pc,laptop
|
||||
volumes:
|
||||
- ./config:/config
|
||||
ports:
|
||||
@ -25,4 +25,3 @@ services:
|
||||
sysctls:
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
restart: unless-stopped
|
||||
|
@ -5,5 +5,6 @@
|
||||
environment.systemPackages = with pkgs; [
|
||||
yubikey-manager
|
||||
trash-cli
|
||||
sqlite # Used for managing SQLite databases (Brave Settings etc.)
|
||||
];
|
||||
}
|
||||
|
@ -13,6 +13,7 @@
|
||||
"docker"
|
||||
"video"
|
||||
"render"
|
||||
"users"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user