feat: init

This commit is contained in:
Nick 2025-03-29 23:08:26 -05:00
commit 96c6f790fc
804 changed files with 33411 additions and 0 deletions

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
android-file-transfer
;
};
}
# requires that users be part of the adbusers group

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
android-tools
;
};
}
# requires that users be part of the adbusers group

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
simple-mtpfs
;
};
}

11
modules/home/cli/default.nix Executable file
View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,44 @@
{
language = [
{
auto-format = true;
formatter.command = "nixfmt";
name = "nix";
}
{
auto-format = true;
formatter.command = "cssfmt";
name = "css";
}
{
auto-format = true;
language-servers = [
"elm-language-server"
];
name = "elm";
}
{
auto-format = true;
formatter.command = "haskell";
name = "haskell";
}
{
auto-format = true;
formatter.command = "yamlfmt";
name = "yaml";
}
{
auto-format = true;
formatter.command = "yuck";
name = "yuck";
}
];
language-server = {
elm-language-server = {
config.elmLS = {
disableElmLSDiagnostics = true;
elmReviewDiagnostics = "warning";
};
};
};
}

View file

@ -0,0 +1,62 @@
{
editor = {
mouse = true;
auto-format = true;
soft-wrap.enable = true;
auto-save = true;
line-number = "relative";
cursorline = true;
indent-guides = {
character = "";
skip-levels = 1;
render = true;
};
lsp = {
display-messages = true;
display-inlay-hints = true;
};
};
keys = {
normal = {
f = ":format";
tab = "indent";
S-tab = "unindent";
ret = [
"add_newline_below"
"move_line_down"
];
S-ret = [
"add_newline_above"
"move_line_up"
];
S-up = [
"extend_to_line_bounds"
"delete_selection"
"move_line_up"
"paste_before"
];
S-down = [
"extend_to_line_bounds"
"delete_selection"
"paste_after"
];
S-g = [
":write-all"
":new"
":insert-output lazygit"
":buffer-close!"
":redraw"
":reload-all"
];
Y = "yank_main_selection_to_primary_clipboard";
R = "replace_selections_with_primary_clipboard";
space = {
q = ":q";
w = ":w";
};
};
};
theme = "catppuccin_macchiato";
}

View file

@ -0,0 +1,19 @@
{
pkgs,
flake,
...
}:
{
programs.helix =
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix);
languagesPath = import (configPath + /languages.nix);
in
{
enable = true;
package = flake.inputs.helix.packages.${pkgs.system}.default;
languages = languagesPath;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,16 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs.elmPackages)
elm
elm-format
elm-land
elm-language-server
elm-review
elm-test
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs.nodePackages)
nodejs
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,16 @@
{
config,
flake,
...
}:
let
user = config.home.username;
userConfig = flake.config.people.users.${user};
in
{
programs.git = {
enable = true;
userName = userConfig.name;
userEmail = userConfig.email.address0;
};
}

View file

@ -0,0 +1,7 @@
{
programs.lazygit = {
enable = true;
settings = {
};
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
file-roller
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ncdu
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
samba
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
unrar
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
unzip
;
};
}

View file

@ -0,0 +1,16 @@
{
keymap.manager.prepend_keymap = [
{
on = [
"Q"
];
run = "quit";
}
{
on = [
"q"
];
run = "quit --no-cwd-file";
}
];
}

View file

@ -0,0 +1,18 @@
{
settings = {
log = {
enabled = false;
};
manager = {
show_hidden = true;
sort_by = "alphabetical";
sort_dir_first = true;
sort_reverse = false;
};
preview = {
tab_size = 2;
max_width = 1500;
max_height = 1000;
};
};
}

View file

@ -0,0 +1,22 @@
{
flake,
pkgs,
...
}:
{
programs.yazi =
let
configPath = ./config;
keymapPath = import (configPath + /keymap.nix);
settingsPath = import (configPath + /settings.nix);
in
{
enable = true;
# package = flake.inputs.yazi.packages.${pkgs.system}.yazi;
enableNushellIntegration = true;
keymap = keymapPath;
settings = settingsPath;
};
# Keymap
# https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap.toml
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
zip
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ani-cli
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,76 @@
{
logo = {
source = "nixos_large";
padding = {
right = 2;
top = 3;
};
};
display = {
size = {
binaryPrefix = "si";
};
color = "magenta";
separator = " ";
};
modules = [
{
type = "separator";
string = "SYSTEM: ";
}
{
type = "os";
key = "NixOS Version";
}
{
type = "kernel";
key = "Kernel Version";
}
"shell"
"terminal"
"packages"
"locale"
{
type = "wm";
key = "Window Manager";
}
{
type = "separator";
string = "HARDWARE: ";
}
{
type = "board";
key = "Motherboard";
}
{
type = "cpu";
key = "Processor";
}
{
type = "gpu";
key = "Graphics";
}
"memory"
"disk"
"display"
"gamepad"
{
type = "sound";
key = "Audio Interface";
}
{
type = "separator";
string = "INTERFACE: ";
}
"theme"
"cursor"
"icons"
"font"
"editor"
"player"
{
type = "media";
key = "Song";
}
];
}

View file

@ -0,0 +1,10 @@
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix);
in
{
programs.fastfetch = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
libgen-cli
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
nyancat
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
yabridge
;
};
}

View file

@ -0,0 +1,4 @@
''
--embed-chapters
--audio-quality 0
''

View file

@ -0,0 +1,7 @@
{
embed-thumbnail = true;
embed-subs = true;
sub-langs = "english";
downloader = "aria2c";
downloader-args = "aria2c:'-c -x8 -s8 -k1M'";
}

View file

@ -0,0 +1,13 @@
{
programs.yt-dlp =
let
configPath = ./config;
extraConfigPath = import (configPath + /extraConfig.nix);
settingsPath = import (configPath + /settings.nix);
in
{
enable = true;
extraConfig = extraConfigPath;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,15 @@
{
programs.nushell = {
enable = true;
configFile.text = ''
sleep 7ms
$env.config = {show_banner: false}
'';
shellAliases = {
y = "yy";
lg = "lazygit";
yt = "yt-dlp --embed-chapters";
ze = "zellij";
};
};
}

View file

@ -0,0 +1,98 @@
{
flake,
config,
lib,
...
}:
let
inherit (flake.config.aesthetics.themes) currentTheme palettes;
inherit (flake.config.people) user0 user1 user2;
user = config.home.username;
themeLogic =
if user == user0 then
currentTheme.theme0
else if user == user1 then
currentTheme.theme1
else if user == user2 then
currentTheme.theme2
else
currentTheme.theme0;
el = palettes.${themeLogic}.colours;
makeColor = c: "#" + c;
makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold";
surround =
fg: text:
"[](fg:"
+ makeColor el.base00
+ " bg:"
+ fg
+ ")"
+ "[](fg:"
+ fg
+ ")"
+ text
+ "[](fg:"
+ fg
+ ")";
in
{
add_newline = false;
character =
let
makeChar =
bg: c:
surround (makeColor bg) ("[" + c + "](" + makeStyle (makeColor bg) (makeColor el.base11) + ")");
in
{
error_symbol = makeChar el.base12 "";
format = "$symbol";
success_symbol = makeChar el.base0C "λ";
};
cmd_duration = {
format = surround (makeColor el.base0E) "[ $duration]($style)";
min_time = 0;
show_milliseconds = true;
style = makeStyle (makeColor el.base0E) (makeColor el.base11);
};
directory = {
format = surround (makeColor el.base0D) "[󰉋 $path]($style)[$read_only]($read_only_style)";
read_only = " ";
read_only_style = makeStyle (makeColor el.base0D) (makeColor el.base11);
style = makeStyle (makeColor el.base0D) (makeColor el.base11);
truncation_length = 1;
truncate_to_repo = false;
};
git_branch = {
format = surround (makeColor el.base09) "[$symbol $branch]($style)";
style = makeStyle (makeColor el.base09) (makeColor el.base11);
symbol = "";
};
git_status = {
format = "[ \\[$all_status$ahead_behind\\]]($style)";
style = makeStyle (makeColor el.base0A) (makeColor el.base11);
};
hostname = {
format = surround (makeColor el.base16) "[$ssh_symbol$hostname]($style)";
ssh_symbol = "󰖟 ";
style = makeStyle (makeColor el.base16) (makeColor el.base11);
};
pijul_channel = {
disabled = false;
format = surround (makeColor el.base09) "[$symbol $channel]($style)";
style = makeStyle (makeColor el.base09) (makeColor el.base11);
symbol = "";
};
format = lib.concatStrings [
"$hostname"
"$directory"
"$pijul_channel"
"$git_branch"
"$cmd_duration"
"$character "
];
}

View file

@ -0,0 +1,16 @@
{
flake,
config,
lib,
...
}:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) { inherit config flake lib; };
in
{
programs.starship = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,6 @@
{
programs.zellij = {
enable = true;
settings.theme = "catppuccin-macchiato";
};
}

View file

@ -0,0 +1,10 @@
{ pkgs, ... }:
{
programs.zoxide = {
enable = true;
enableNushellIntegration = true;
package = pkgs.zoxide;
options = [
];
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
alsa-utils
;
};
}

View file

@ -0,0 +1,67 @@
{
flake,
config,
...
}:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
;
inherit (flake.config.people) user0 user1 user2;
user = config.home.username;
themeLogic =
if user == user0 then
currentTheme.theme0
else if user == user1 then
currentTheme.theme1
else if user == user2 then
currentTheme.theme2
else
currentTheme.theme0;
el = palettes.${themeLogic}.colours;
in
{
colors = {
tableHeaderColor = el.base06;
allCpuColor = el.base06;
avgCpuColor = el.base12;
cpuCoreColors = [
el.base07
el.base16
el.base09
el.base0A
el.base0B
el.base15
el.base0E
];
ramColor = el.base0B;
swapColor = el.base09;
rxColor = el.base0B;
txColor = el.base08;
widgetTitleColor = el.base0F;
borderColor = el.base04;
highlightedBorderColor = el.base17;
textColor = el.base05;
graphColor = el.base05;
cursorColor = el.base17;
selectedTextColor = el.base11;
selectedBgColor = el.base0E;
highBatteryColor = el.base0B;
mediumBatteryColor = el.base0A;
lowBatteryColor = el.base08;
gpuCoreColors = [
el.base15
el.base0E
el.base08
el.base09
el.base0A
el.base0B
];
arcColor = el.base15;
};
}

View file

@ -0,0 +1,16 @@
{
flake,
config,
...
}:
{
programs.bottom =
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) { inherit config flake; };
in
{
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
brightnessctl
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
cifs-utils
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,6 @@
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ffmpeg
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
flac
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
glib
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
hardinfo
;
};
}

View file

@ -0,0 +1 @@
{ programs.home-manager.enable = true; }

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
inetutils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
libnatpmp
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
ngrrram
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
pamixer
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
parted
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
pciutils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
pinentry
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
playerctl
;
};
}

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
protonvpn-cli_2
protonvpn-gui
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
speedtest-rs
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
sshfs
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
tokei
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
tomb
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
usbutils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
wget
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
wine
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
xdg-utils
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
xdotool
;
};
}

242
modules/home/default.nix Executable file
View file

@ -0,0 +1,242 @@
{ config, ... }:
let
inherit (import ../helpers.nix) directoryImport;
modules = directoryImport ./.;
in
{
flake.homeModules =
let
inherit (config.machines.devices)
charon
mars
venus
deimos
ceres
;
inherit (config.people)
user0
user1
user2
user3
;
in
{
"${mars.name}-${user0}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
floorp
tor
ghostty
prismLauncher
steam
zed
vsCode
feishin
obsidian
libreOffice
okular
zathura
kolourPaint
imageViewing
daVinci
mpv
freetube
dissent
discordCanary
vesktop
element
signal
sharing
bitwarden
emote
flameshot
gnomeCalculator
scrcpy
systemMonitor
usbImager
virtManager
# hypr
# wayland
theming
polychromatic
dolphin
;
};
};
"${mars.name}-${user1}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
ghostty
zed
gaming
spotify
docs
mpv
kolourPaint
discord
signal
scrcpy
bitwarden
emote
desktop
;
};
};
"${mars.name}-${user3}" = {
imports = builtins.attrValues {
inherit (modules)
cli
floorp
ghostty
steam
zed
obsidian
okular
kolourPaint
imageViewing
obsStudio
mpv
freetube
vesktop
bitwarden
emote
flameshot
gnomeCalculator
theming
;
};
};
"${venus.name}-${user2}" = {
imports = builtins.attrValues {
inherit (modules)
cli
firefox
brave
code
ghostty
gaming
spotify
audioProduction
wpsOffice
obsidian
okular
images
modeling
obsStudio
kdenlive
videoPlaying
discord
signal
tdesktop
teams
whatsApp
zoom
tools
;
};
};
"${deimos.name}-${user0}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
floorp
tor
ghostty
prismLauncher
steam
zed
feishin
obsidian
libreOffice
okular
zathura
kolourPaint
imageViewing
obsStudio
daVinci
mpv
freetube
dissent
discordCanary
vesktop
element
signal
sharing
bitwarden
emote
flameshot
gnomeCalculator
scrcpy
systemMonitor
usbImager
virtManager
# hypr
# wayland
theming
polychromatic
dolphin
;
};
};
"${deimos.name}-${user1}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
ghostty
zed
gaming
spotify
docs
mpv
kolourPaint
discord
signal
scrcpy
bitwarden
emote
# hypr
# wayland
theming
;
};
};
"${charon.name}-${user1}" = {
imports = builtins.attrValues {
inherit (modules)
cli
brave
ghostty
zed
gaming
spotify
docs
mpv
jellyfin
kolourPaint
systemMonitor
discord
signal
scrcpy
bitwarden
emote
gnome
theming
;
};
};
"${ceres.name}-${user0}" = {
imports = builtins.attrValues {
inherit (modules)
cli
tooling
;
};
};
};
}

View file

@ -0,0 +1,8 @@
[
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock Origin
{ id = "cmpdlhmnmjhihmcfnigoememnffkimlk"; } # Catppuccin Macchiato
{ id = "dlnpfhfhmkiebpnlllpehlmklgdggbhn"; } # Don't Close Last Tab
{ id = "iplffkdpngmdjhlpjmppncnlhomiipha"; } # Unpaywall
{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; } # SponsorBlock
{ id = "ponfpcnoihfmfllpaingbgckeeldkhle"; } # YouTube Enhancer
]

View file

@ -0,0 +1,11 @@
{
programs.brave =
let
configPath = ./config;
extensionsPath = import (configPath + /extensions.nix);
in
{
enable = true;
extensions = extensionsPath;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
google-chrome
;
};
}

View file

@ -0,0 +1,11 @@
let
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
microsoft-edge
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
epiphany
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
firefox
;
};
}

View file

@ -0,0 +1,54 @@
{
name = "Academic";
toolbar = false;
bookmarks = [
{
name = "PubMed";
url = "https://pubmed.ncbi.nlm.nih.gov";
tags = [
"pub"
"pubmed"
"science"
"research"
"academic"
];
keyword = "Pub";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = [
"sci"
"sci-hub"
"scihub"
"science"
"research"
"academic"
"torrent"
];
keyword = "Sci";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = [
"standford"
"encyclopedia"
"philosophy"
"phil"
];
keyword = "Phil";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = [
"votero"
"bibliography"
"bib"
"zbib"
];
keyword = "Bib";
}
];
}

View file

@ -0,0 +1,98 @@
let
gitlabTags = [
"git"
"gitlab"
];
gitlabURL = "https://gitlab.com";
in
{
name = "Development";
toolbar = false;
bookmarks = [
{
name = "Discord (Development Portal)";
url = "https://discord.com/developers/applications";
tags = [
"discord"
"development"
"portal"
"bot"
];
keyword = "Discord";
}
{
name = "Elm-UI";
url = "https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/";
tags = [
"elm-ui"
"elm"
"ui"
];
keyword = "Elm";
}
{
name = "Elm Examples";
url = "https://elm-lang.org/examples";
tags = [
"elm"
"elm"
"examples"
];
keyword = "Elm";
}
{
name = "GitHub";
url = "https://github.com/BRBWaffles";
tags = [
"git"
"github"
"brbwaffles"
];
keyword = "GitHub";
}
{
name = "GitLab (Fallaryn)";
url = "${gitlabURL}/fallaryn/dotfiles";
tags = [
"fallaryn"
] ++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Isaac)";
url = "${gitlabURL}/askyourself/dotfiles";
tags = [
"isaac"
"askyourself"
] ++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Nick)";
url = "${gitlabURL}/upRootNutrition/dotfiles";
tags = [
"brbwaffles"
] ++ gitlabTags;
keyword = "GitLab";
}
{
name = "Hackage";
url = "https://hackage.haskell.org";
tags = [
"hackage"
"hack"
"haskell"
];
keyword = "Hack";
}
{
name = "Discord-Haskell";
url = "https://hackage.haskell.org/package/discord-haskell-1.17.1";
tags = [
"discord"
"haskell"
];
keyword = "Dack";
}
];
}

View file

@ -0,0 +1,154 @@
{
name = "Finances";
toolbar = false;
bookmarks = [
{
name = "Adsense";
url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments";
tags = [
"google"
"adsense"
"ads"
"money"
];
keyword = "Adsense";
}
{
name = "Canada Revenue Agency";
url = "https://apps4.ams-sga.cra-arc.gc.ca/gol-ged/awsc/amss/browser/check?program=mima&target=login&lang=en&idp=cms";
tags = [
"cra"
"canada"
"money"
];
keyword = "CRA";
}
{
name = "Credit Karma";
url = "https://www.creditkarma.ca";
tags = [
"credit"
"karma"
"bank"
"banking"
];
keyword = "Credit";
}
{
name = "Kijiji";
url = "https://www.kijiji.ca";
tags = [
"kijiji"
"kij"
"ki"
];
keyword = "Kij";
}
{
name = "LiberaPay";
url = "https://liberapay.com/upRootNutrition";
tags = [
"libera"
"liberapay"
"donations"
"bank"
"banking"
"money"
"uprootnutrition"
];
keyword = "Libera";
}
{
name = "Patreon";
url = "https://www.patreon.com/upRootNutrition";
tags = [
"patreon"
"donations"
"bank"
"banking"
"money"
"uprootnutrition"
];
keyword = "Patreon";
}
{
name = "PayPal";
url = "https://www.paypal.com/myaccount/summary?intl=0";
tags = [
"paypal"
"bank"
"banking"
"money"
];
keyword = "PayPal";
}
{
name = "Shopify";
url = "https://uprootnutrition.myshopify.com/admin";
tags = [
"shopify"
"business"
"shop"
"bank"
"banking"
"money"
];
keyword = "Shopify";
}
{
name = "Simplii";
url = "https://online.simplii.com/ebm-resources/public/client/web/index.html#/signon";
tags = [
"simplii"
"bank"
"banking"
"money"
];
keyword = "Simplii";
}
{
name = "Stripe";
url = "https://dashboard.stripe.com/settings/user";
tags = [
"stripe"
"bank"
"banking"
"money"
];
keyword = "Stripe";
}
{
name = "Telus (Security)";
url = "https://smarthome-security.telus.com/web/system/home";
tags = [
"telus"
"security"
];
keyword = "ADT";
}
{
name = "Wealthsimple";
url = "https://my.wealthsimple.com/app/tax-onboarding/2021";
tags = [
"wealth"
"simple"
"bank"
"banking"
"crypto"
];
keyword = "Wealth";
}
{
name = "Wix";
url = "https://manage.wix.com/dashboard/413fd74d-8a8f-4c77-bd91-9ea560ffe906/home";
tags = [
"wix"
"website"
"business"
"bills"
"uprootnutrition"
];
keyword = "Wix";
}
];
}

View file

@ -0,0 +1,223 @@
{ flake, ... }:
let
inherit (flake.config.people)
user0
;
inherit (flake.config.people.users.${user0})
aliases
;
inherit (flake.config.machines.devices)
synology
ceres
;
inherit (flake.config.services)
instances
;
jellyfinTags = [
"jelly"
"video"
"streaming"
"movies"
"shows"
"music"
];
ollamaTags = [
instances.ollama.name
"chat"
"ai"
];
owncastTags = [
instances.owncast.name
"own"
"cast"
"stream"
];
syncthingTags = [
instances.syncthing.name
"sync"
"thing"
instances.synology.name
];
in
{
name = "Self Hosted";
toolbar = false;
bookmarks = [
{
name = "Elm-Land Server";
url = "http://localhost:1234";
tags = [
"elm-land"
"elm"
"land"
];
keyword = "Website";
}
{
name = instances.forgejo.label;
url = "https://${instances.forgejo.subdomain}.${instances.web.domains.url3}";
tags = [
instances.forgejo.name
"forge"
"git"
];
keyword = instances.forgejo.label;
}
# {
# name = instances.hledger.label;
# url = "http://localhost.${builtins.toString instances.hledger.ports.port0}";
# tags = [
# instances.hledger.name
# "hledger"
# "finances"
# ];
# keyword = instances.hledger.label;
# }
{
name = "${instances.jellyfin.label} (Internet)";
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
{
name = "${instances.jellyfin.label} (Local)";
url = "http://${ceres.ip.address0}:${toString instances.jellyfin.ports.port1}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
{
name = instances.mastodon.label;
url = "https://${instances.mastodon.subdomain}.${instances.web.domains.url3}";
tags = [
instances.mastodon.name
"mast"
"md"
];
keyword = instances.mastodon.label;
}
{
name = "Namecheap";
url = "https://www.namecheap.com";
tags = [
"namecheap"
"name"
"cheap"
"dns"
];
keyword = "Name";
}
{
name = instances.nextcloud.label;
url = "https://${instances.nextcloud.subdomain}.${instances.web.domains.url1}";
tags = [
instances.nextcloud.name
"next"
"cloud"
"calendar"
];
keyword = instances.nextcloud.label;
}
{
name = aliases.name2;
url = instances.web.domains.url2;
tags = [
aliases.name3
"blog"
];
keyword = aliases.name2;
}
{
name = "${instances.ollama.label} (Server)";
url = "https://${instances.ollama.subdomain}.${instances.web.domains.url0}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
{
name = "${instances.ollama.label} (Desktop)";
url = "http://localhost:${toString instances.ollama.ports.port0}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
# {
# name = "${instances.owncast.label} (Admin)";
# url = "http://${ceres.ip.address0}:${toString instances.owncast.ports.port0}/admin";
# tags = owncastTags;
# keyword = instances.owncast.label;
# }
# {
# name = "${instances.owncast.label} (Server)";
# url = "http://${instances.owncast.subdomain}.${instances.web.domains.url1}";
# tags = owncastTags;
# keyword = instances.owncast.label;
# }
# {
# name = instances.peertube.label;
# url = "https://${instances.peertube.subdomain}.${instances.web.domains.url3}";
# tags = [
# instances.peertube.name
# "peer"
# "tube"
# "uprootnutrition"
# ];
# keyword = instances.peertube.label;
# }
{
name = "Router";
url = "http://${instances.web.localhost.address2}";
tags = [
"router"
"asus"
];
keyword = "Router";
}
{
name = "${instances.searx.label} (Internet)";
url = "https://${instances.searx.subdomain}.${instances.web.domains.url0}";
tags = [
"search"
"sear"
"searx"
];
keyword = instances.searx.label;
}
{
name = "${instances.syncthing.label} (${instances.synology.label})";
url = "http://${synology.ip.address0}:${toString instances.syncthing.ports.port0}";
tags = [
"synology"
] ++ syncthingTags;
keyword = instances.syncthing.label;
}
{
name = "${instances.syncthing.label} (Desktop)";
url = "http://localhost:${toString instances.syncthing.ports.port0}";
tags = [
"desktop"
] ++ syncthingTags;
keyword = instances.syncthing.label;
}
{
name = instances.synology.label;
url = "https://${synology.ip.address0}:${toString instances.synology.ports.port0}";
tags = [
instances.synology.name
"dsm"
"cloud"
];
keyword = instances.synology.label;
}
{
name = instances.vaultwarden.label;
url = "https://${instances.vaultwarden.subdomain}.${instances.web.domains.url0}";
tags = [
instances.vaultwarden.name
"bitwarden"
"vault"
"bit"
"warden"
];
keyword = instances.vaultwarden.label;
}
];
}

View file

@ -0,0 +1,52 @@
{
name = "Gaming";
toolbar = false;
bookmarks = [
{
name = "Battle.net";
url = "https://us.shop.battle.net";
tags = [
"battle.net"
"battle"
"net"
];
keyword = "Battle";
}
{
name = "Chess.com";
url = "https://www.chess.com/home";
tags = [
"chess"
];
keyword = "Chess";
}
{
name = "Lichess";
url = "https://lichess.org";
tags = [
"lichess"
"chess"
];
keyword = "Li";
}
{
name = "ProtonDB";
url = "https://www.protondb.com";
tags = [
"steam"
"db"
];
keyword = "DB";
}
{
name = "SteamDB";
url = "https://steamdb.info";
tags = [
"steamdb"
"steam"
"db"
];
keyword = "SteamDB";
}
];
}

View file

@ -0,0 +1,80 @@
{
name = "Shopping";
toolbar = false;
bookmarks = [
{
name = "Amazon";
url = "https://www.amazon.ca";
tags = [
"amazon"
"shopping"
"supply"
];
keyword = "Amazon";
}
{
name = "Door Dash";
url = "https://www.doordash.com";
tags = [
"doordash"
"door"
"dash"
"food"
];
keyword = "Dash";
}
{
name = "Fiverr";
url = "https://www.fiverr.com";
tags = [
"fiverr"
"graphic"
"design"
];
keyword = "Five";
}
{
name = "FTY Supplies";
url = "https://fytsupplies.ca";
tags = [
"tattoo tat"
"fyt"
"shopping"
"supply"
];
keyword = "FYT";
}
{
name = "Skip the Dishes";
url = "https://www.skipthedishes.com";
tags = [
"skip"
"dishes"
"food"
];
keyword = "Skip";
}
{
name = "Uber Eats";
url = "https://www.ubereats.com";
tags = [
"uber"
"eats"
"food"
];
keyword = "Uber";
}
{
name = "TatSoul";
url = "https://www.tatsoul.com";
tags = [
"tattoo"
"tat"
"tatsoul"
"shopping"
"supply"
];
keyword = "TatSoul";
}
];
}

View file

@ -0,0 +1,186 @@
let
discordTags = [
"disboard"
"discord"
"dis"
"ds"
"social"
];
youtubeTags = [
"youtube"
"you"
"tube"
"yt"
];
in
{
name = "Social Media";
toolbar = false;
bookmarks = [
{
name = "upRootNutrition";
url = "https://upRootNutrition.com";
tags = [
"uprootnutrition"
"up"
"root"
"nutrition"
];
keyword = "Root";
}
{
name = "Disboard";
url = "https://disboard.org";
tags = discordTags;
keyword = "Disboard";
}
{
name = "Discord (Web Client)";
url = "https://discord.com/channels/@me";
tags = discordTags;
keyword = "Discord";
}
{
name = "Facebook";
url = "https://www.facebook.com/";
tags = [
"facebook"
"face"
"book"
];
keyword = "Face";
}
{
name = "Gmail";
url = "https://mail.google.com/mail/u/0/#inbox";
tags = [
"gmail"
"google"
"mail"
"gm"
"email"
];
keyword = "Gmail";
}
{
name = "Lemmy";
url = "https://lemmy.world";
tags = [
"lemmy"
"social"
];
keyword = "Lem";
}
{
name = "OnlyFans";
url = "https://onlyfans.com";
tags = [
"onlyfans"
"only"
"fans"
];
keyword = "Only";
}
{
name = "Pixelfed";
url = "https://pixelfed.social/i/web/profile/651714972141461392";
tags = [
"pixelfed"
"pixel"
"pi"
];
keyword = "Pix";
}
{
name = "Proton Mail";
url = "https://mail.proton.me/u/1/inbox";
tags = [
"proton"
"mail"
"pr"
"email"
];
keyword = "Pro";
}
{
name = "Proton Calendar";
url = "https://calendar.proton.me";
tags = [
"proton"
"calendar"
];
keyword = "Cal";
}
{
name = "Proton VPN";
url = "https://account.proton.me/u/0/vpn";
tags = [
"proton"
"vpn"
];
keyword = "VPN";
}
{
name = "Reddit";
url = "https://www.reddit.com";
tags = [
"reddit"
"social"
];
keyword = "Reddit";
}
{
name = "Slack";
url = "https://app.slack.com/";
tags = [
"slack"
"social"
];
keyword = "Slack";
}
{
name = "StreamLabs";
url = "https://streamlabs.com/dashboard";
tags = [
"streamlabs"
"stream"
"labs"
];
keyword = "Stream";
}
{
name = "Tinder";
url = "https://tinder.com/app/recs";
tags = [
"tinder"
"dating"
"booty"
];
keyword = "Tinder";
}
{
name = "YouTube";
url = "https://www.youtube.com";
tags = youtubeTags;
keyword = "You";
}
{
name = "YouTube Studio";
url = "https://studio.youtube.com/channel/UCy9yYcDx2XuVVgcWLJJDoxw";
tags = [
"studio"
] ++ youtubeTags;
keyword = "Studio";
}
{
name = "X (Twitter)";
url = "https://x.com/upRootNutrition";
tags = [
"twitter"
"x"
"social"
];
keyword = "Twitter";
}
];
}

View file

@ -0,0 +1,291 @@
{
name = "Tools";
toolbar = false;
bookmarks = [
{
name = "Mullvad";
url = "https://mullvad.net";
tags = [
"mullvad"
"vpn"
];
keyword = "Mull";
}
{
name = "Monkeytype";
url = "https://monkeytype.com/";
tags = [
"monkeytype"
"type"
];
keyword = "Monk";
}
{
name = "Cyanophage Layout Analyzer";
url = "https://cyanophage.github.io";
tags = [
"cyanophage"
"keyboard"
"layout"
];
keyword = "Layout";
}
{
name = "Smtp2Go";
url = "https://app-us.smtp2go.com/dashboard/main";
tags = [
"smtp"
"email"
];
keyword = "Smtp";
}
{
name = "Oryx";
url = "https://configure.zsa.io/moonlander";
tags = [
"zsa"
"moonlander"
"keyboard"
"layout"
];
keyword = "Moon";
}
{
name = "Hugging Face";
url = "https://www.huggingface.co";
tags = [
"hugging"
"face"
"ai"
"gguf"
];
keyword = "Hug";
}
{
name = "DeepSeek";
url = "https://chat.deepseek.com/";
tags = [
"deepseek"
"deep"
"seek"
"ai"
];
keyword = "Deep";
}
{
name = "Uncensored AI";
url = "https://www.aiuncensored.info";
tags = [
"uncensored"
"ai"
];
keyword = "AI";
}
{
name = "Canadian Blood Services";
url = "https://www.blood.ca/en";
tags = [
"canadian"
"blood"
"services"
"give"
];
keyword = "Give";
}
{
name = "Chmod Calculator";
url = "https://chmod-calculator.com";
tags = [
"chmod"
"calculator"
];
keyword = "Chmod";
}
{
name = "ChatGPT";
url = "https://chatgpt.com";
tags = [
"chat"
"chatgpt"
"gpt"
];
keyword = "Chat";
}
{
name = "Claude AI";
url = "https://claude.ai";
tags = [
"claude"
"ai"
];
keyword = "Claude";
}
{
name = "Cronometer";
url = "https://cronometer.com/#diary";
tags = [
"cronometer"
"cron"
"nutrition"
];
keyword = "Cron";
}
{
name = "DNS Checker";
url = "https://dnschecker.org";
tags = [
"dns"
"checker"
];
keyword = "DNS";
}
{
name = "EventBrite";
url = "https://www.eventbrite.ca/d/canada--winnipeg/events--today/winnipeg/?page=1";
tags = [
"eventbrite"
"event"
"brite"
];
keyword = "Event";
}
{
name = "Google Maps";
url = "https://www.google.com/maps";
tags = [
"maps"
"google"
];
keyword = "Map";
}
{
name = "ListenBrainz";
url = "https://listenbrainz.org/user/BRBWaffles";
tags = [
"listenbrainz"
"listen"
"brains"
];
keyword = "Listen";
}
{
name = "Memory Express";
url = "https://www.memoryexpress.com";
tags = [
"memoryexpress"
"memory"
"mem"
"express"
];
keyword = "Mem";
}
{
name = "Percentage Calculator";
url = "https://percentagecalculator.net";
tags = [
"percentage"
"percent"
"calculator"
];
keyword = "Percent";
}
{
name = "Portchecker";
url = "https://portchecker.co";
tags = [
"portchecker"
"port"
"checker"
];
keyword = "Port";
}
{
name = "Proof Tree";
url = "https://www.umsu.de/trees";
tags = [
"proof"
"tree"
"logic"
"academic"
];
keyword = "Logic";
}
{
name = "RhymeZone";
url = "https://www.rhymezone.com";
tags = [
"rhymezone"
"rhyme"
"zone"
];
keyword = "Rhyme";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = [
"sci"
"sci-hub"
"scihub"
"science"
"research"
"academic"
"torrent"
];
keyword = "Sci";
}
{
name = "Speedtest";
url = "https://www.speedtest.net";
tags = [
"speedtest"
"speed"
"test"
];
keyword = "Speed";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = [
"standford"
"encyclopedia"
"philosophy"
"phil"
];
keyword = "Phil";
}
{
name = "Telus (Billing)";
url = "https://www.telus.com/my-telus/billing/summary";
tags = [
"telus"
"phone"
"bills"
"money"
];
keyword = "Telus";
}
{
name = "TinEye";
url = "https://tineye.com";
tags = [
"tineye"
"tin"
"eye"
];
keyword = "Tin";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = [
"votero"
"bibliography"
"bib"
"zbib"
];
keyword = "Bib";
}
];
}

View file

@ -0,0 +1,44 @@
{
name = "Tracking";
toolbar = false;
bookmarks = [
{
name = "1337";
url = "https://1337x.to";
tags = [
"torrent"
"1337"
];
keyword = "1337";
}
{
name = "Core Radio";
url = "https://coreradio.online";
tags = [
"core"
"radio"
"metal"
];
keyword = "Core";
}
{
name = "Metal Tracker";
url = "https://en.metal-tracker.com";
tags = [
"metaltracker"
"metal"
"tracker"
];
keyword = "Metal";
}
{
name = "Torrent Leech";
url = "https://www.torrentleech.org";
tags = [
"torrent"
"leech"
];
keyword = "Leech";
}
];
}

View file

@ -0,0 +1,34 @@
{ flake, ... }:
let
configPath = ./config;
flakedPath = configPath + /flake;
filterFiles = name: builtins.match ".*\\.nix$" name != null;
regularBookmarks =
let
files = builtins.attrNames (builtins.readDir configPath);
in
builtins.foldl' (
emptyList: bookmarkFile: emptyList ++ (import (configPath + "/${bookmarkFile}")).bookmarks
) [ ] (builtins.filter filterFiles files);
flakedBookmarks =
let
files = builtins.attrNames (builtins.readDir flakedPath);
in
builtins.foldl' (
emptyList: bookmarkFile:
emptyList
++ (import (flakedPath + "/${bookmarkFile}") {
inherit
flake
;
}).bookmarks
) [ ] (builtins.filter filterFiles files);
aggregatedBookmarks = regularBookmarks ++ flakedBookmarks;
in
{
bookmarks = aggregatedBookmarks;
}

View file

@ -0,0 +1,14 @@
{ pkgs, ... }:
{
extensions.packages = builtins.attrValues {
inherit (pkgs.nur.repos.rycee.firefox-addons)
bitwarden
enhancer-for-youtube
sponsorblock
ublock-origin
unpaywall
vimium
side-view
;
};
}

View file

@ -0,0 +1,19 @@
{
"Sci-Hub" = {
definedAliases = [
"@sc"
];
icon = ./icons/sc.png;
urls = [
{ template = "https://sci-hub.ee/{searchTerms}"; }
];
};
"Wikipedia" = {
definedAliases = [
"@wi"
];
urls = [
{ template = "https://en.wikipedia.org/wiki/{searchTerms}"; }
];
};
}

View file

@ -0,0 +1,69 @@
{
"DNS Checker" = {
definedAliases = [
"@dn"
];
icon = ./icons/dn.png;
urls = [
{ template = "https://dnschecker.org/#A/{searchTerms}"; }
];
};
"Hackage" = {
definedAliases = [
"@ha"
];
icon = ./icons/ha.png;
urls = [
{ template = "https://hackage.haskell.org/packages/search?terms={searchTerms}"; }
];
};
"Hoogle" = {
definedAliases = [
"@ho"
];
icon = ./icons/ho.png;
urls = [
{ template = "https://www.stackage.org/lts-22.33/hoogle?q={searchTerms}"; }
];
};
"Nix Home Manager" = {
definedAliases = [
"@nh"
];
icon = ./icons/nx.png;
urls = [
{ template = "https://searchix.alanpearce.eu/options/home-manager/search?query={searchTerms}"; }
];
};
"Nix Options" = {
definedAliases = [
"@no"
];
icon = ./icons/nx.png;
urls = [
{
template = "https://search.nixos.org/options?channel=unstable&size=50&sort=relevance&type=packages&query={searchTerms}";
}
];
};
"Nix Packages" = {
definedAliases = [
"@np"
];
icon = ./icons/nx.png;
urls = [
{
template = "https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query={searchTerms}";
}
];
};
"Nix Wiki" = {
definedAliases = [
"@nw"
];
icon = ./icons/nx.png;
urls = [
{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }
];
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -0,0 +1,41 @@
{ flake, ... }:
let
inherit (flake.config.services)
instances
;
in
{
"${instances.jellyfin.label}" = {
definedAliases = [
"@jf"
];
icon = ./icons/jf.png;
urls = [
{
template = "https://${instances.jellyfin.subdomain}.${instances.web.domains.url0}/web/#/search.html?query={searchTerms}";
}
];
};
"${instances.peertube.label}" = {
definedAliases = [
"@pt"
];
icon = ./icons/pt.png;
urls = [
{
template = "https://${instances.peertube.subdomain}.${instances.web.domains.url1}/search?search={searchTerms}";
}
];
};
"${instances.searx.label}" = {
definedAliases = [
"@sx"
];
icon = ./icons/sx.png;
urls = [
{
template = "https://${instances.searx.subdomain}.${instances.web.domains.url0}/search?q={searchTerms}";
}
];
};
}

View file

@ -0,0 +1,21 @@
{
"Proton DB" = {
definedAliases = [
"@pd"
];
icon = ./icons/pd.png;
urls = [
{ template = "https://www.protondb.com/search?q={searchTerms}"; }
];
};
"Steam DB" = {
definedAliases = [
"@sd"
];
icon = ./icons/sd.png;
urls = [
{ template = "https://steamdb.info/search/?a=all&q={searchTerms}"; }
];
};
}

View file

@ -0,0 +1,7 @@
{
"Amazon.ca".metaData.hidden = true;
"Bing".metaData.hidden = true;
"eBay".metaData.hidden = true;
"Google".metaData.hidden = true;
"Wikipedia (en)".metaData.hidden = true;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Some files were not shown because too many files have changed in this diff Show more