feat: expanded all lists

This commit is contained in:
Nick 2025-01-08 19:06:14 -06:00
parent 59cc199722
commit bb0b55b011
144 changed files with 1798 additions and 507 deletions

View file

@ -3,27 +3,57 @@ let
printerPath = configPath + /printers;
devicesFunctions = {
ownerWriteOthersReadMask = ["fmask=0022" "dmask=0022"];
ownerExclusiveReadWriteMask = ["fmask=0077" "dmask=0077"];
readWritePermissions = ["rw"];
sambaPermissions = ["rw" "gid=100" "vers=3.0" "x-systemd.automount" "x-systemd.requires=network-online.target"];
fileModeAndDirMode = ["file_mode=0644" "dir_mode=0755"];
userIdForUser0 = ["uid=1000"];
userIdForUser1 = ["uid=1001"];
dummy = [];
ownerWriteOthersReadMask = [
"fmask=0022"
"dmask=0022"
];
ownerExclusiveReadWriteMask = [
"fmask=0077"
"dmask=0077"
];
readWritePermissions = [
"rw"
];
sambaPermissions = [
"rw"
"gid=100"
"vers=3.0"
"x-systemd.automount"
"x-systemd.requires=network-online.target"
];
fileModeAndDirMode = [
"file_mode=0644"
"dir_mode=0755"
];
userIdForUser0 = [
"uid=1000"
];
userIdForUser1 = [
"uid=1001"
];
dummy = [
];
};
deviceswithFunctions = builtins.listToAttrs (map (name: {
name = builtins.substring 0 (builtins.stringLength name - 4) name; # Remove the last 4 characters (".nix")
value = import (configPath + "/${name}") {inherit devicesFunctions;};
name = builtins.substring 0 (builtins.stringLength name - 4) name;
value = import (configPath + "/${name}") {
inherit
devicesFunctions
;
};
})
(builtins.filter (name:
builtins.match ".*\\.nix$" name != null) (builtins.attrNames
(builtins.readDir configPath))));
devicesPrinters = builtins.listToAttrs (map (name: {
name = builtins.substring 0 (builtins.stringLength name - 4) name; # Remove the last 4 characters (".nix")
value = import (printerPath + "/${name}") {inherit devicesFunctions;};
name = builtins.substring 0 (builtins.stringLength name - 4) name;
value = import (printerPath + "/${name}") {
inherit
devicesFunctions
;
};
})
(builtins.filter (name:
builtins.match ".*\\.nix$" name != null) (builtins.attrNames

View file

@ -1,5 +1,9 @@
{instancesFunctions}: let
inherit (instancesFunctions) sslPath sopsPath;
inherit
(instancesFunctions)
sslPath
sopsPath
;
acmeLabel = "Acme";
acmeName = "acme";

View file

@ -1,5 +1,8 @@
{instancesFunctions}: let
inherit (instancesFunctions) sopsPath;
inherit
(instancesFunctions)
sopsPath
;
caddyLabel = "Caddy";
caddyName = "caddy";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain1 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain1
servicePath
sslPath
sopsPath
;
forgejoLabel = "Forgejo";
forgejoName = "forgejo";

View file

@ -1,5 +1,13 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain0 jellyfinLabel jellyfinName servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain0
jellyfinLabel
jellyfinName
servicePath
sslPath
sopsPath
;
in {
label = jellyfinLabel;
name = jellyfinName;

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain1 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain1
servicePath
sslPath
sopsPath
;
mastodonLabel = "Mastodon";
mastodonName = "mastodon";

View file

@ -1,5 +1,9 @@
{instancesFunctions}: let
inherit (instancesFunctions) servicePath sopsPath;
inherit
(instancesFunctions)
servicePath
sopsPath
;
matrixLabel = "Matrix";
matrixName = "matrix";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain0 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
minecraftLabel = "Minecraft";
minecraftName = "minecraft";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain1 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain1
servicePath
sslPath
sopsPath
;
nextcloudLabel = "Nextcloud";
nextcloudName = "nextcloud";

View file

@ -1,5 +1,8 @@
{instancesFunctions}: let
inherit (instancesFunctions) dummy;
inherit
(instancesFunctions)
dummy
;
nginxLabel = "Ngnix";
nginxName = "nginx";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain0 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
ollamaLabel = "Ollama";
ollamaName = "ollama";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain1 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain1
servicePath
sslPath
sopsPath
;
owncastLabel = "Owncast";
owncastName = "owncast";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain3 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain3
servicePath
sslPath
sopsPath
;
peertubeLabel = "PeerTube";
peertubeName = "peertube";

View file

@ -1,5 +1,9 @@
{instancesFunctions}: let
inherit (instancesFunctions) servicePath sopsPath;
inherit
(instancesFunctions)
servicePath
sopsPath
;
postgresLabel = "PostgreSQL";
postgresName = "postgres";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) jellyfinLabel jellyfinName servicePath sopsPath;
inherit
(instancesFunctions)
jellyfinLabel
jellyfinName
servicePath
sopsPath
;
sambaLabel = "Samba";
sambaName = "samba";

View file

@ -1,5 +1,10 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain0 sslPath sopsPath;
inherit
(instancesFunctions)
domain0
sslPath
sopsPath
;
syncthingLabel = "Syncthing";
syncthingName = "syncthing";

View file

@ -1,5 +1,8 @@
{instancesFunctions}: let
inherit (instancesFunctions) sopsPath;
inherit
(instancesFunctions)
sopsPath
;
synologyLabel = "Synology";
synologyName = "synology";

View file

@ -1,5 +1,10 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain3 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain3
sslPath
sopsPath
;
upRootNutritionLabel = "upRootNutrition";
upRootNutritionName = "uprootnutrition";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain0 servicePath sslPath sopsPath;
inherit
(instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
vaultwardenLabel = "Vaultwarden";
vaultwardenName = "vaultwarden";

View file

@ -1,5 +1,11 @@
{instancesFunctions}: let
inherit (instancesFunctions) domain0 domain1 domain2 domain3;
inherit
(instancesFunctions)
domain0
domain1
domain2
domain3
;
in {
domains = {
url0 = domain0;

View file

@ -17,7 +17,11 @@ let
instances = builtins.listToAttrs (map (name: {
name = builtins.substring 0 (builtins.stringLength name - 4) name;
value = import (configPath + "/${name}") {inherit instancesFunctions;};
value = import (configPath + "/${name}") {
inherit
instancesFunctions
;
};
})
(builtins.filter (name:
builtins.match ".*\\.nix$" name != null) (builtins.attrNames

View file

@ -1,5 +1,7 @@
{user0}: let
inherit user0;
inherit
user0
;
in {
name = "Nick";
aliases = {

View file

@ -1,5 +1,7 @@
{user1}: let
inherit user1;
inherit
user1
;
in {
name = "Garnet";
email = {

View file

@ -9,7 +9,15 @@ in {
user1
;
users = {
"${user0}" = import (configPath + "/user0.nix") {inherit user0;};
"${user1}" = import (configPath + "/user1.nix") {inherit user1;};
"${user0}" = import (configPath + "/user0.nix") {
inherit
user0
;
};
"${user1}" = import (configPath + "/user1.nix") {
inherit
user1
;
};
};
}

30
flake.lock generated
View file

@ -345,11 +345,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1736280675,
"narHash": "sha256-Q/3s1BTdoRZzxVWsTkUzELaQkjNMR9vVDOKW2P3cI+o=",
"lastModified": 1736361400,
"narHash": "sha256-QR87WqLvYAUy288N0rvQCwLLw5f7JbB/kDk8PzEFgN0=",
"owner": "helix-editor",
"repo": "helix",
"rev": "917174e546ca20e13538510a700c7c80f759d12c",
"rev": "a83c23bb037a2db26f3e2fe519de22425e95a7d8",
"type": "github"
},
"original": {
@ -392,11 +392,11 @@
]
},
"locked": {
"lastModified": 1736277415,
"narHash": "sha256-kPDXF6cIPsVqSK08XF5EC6KM7BdMnM9vtJDzsnf+lLU=",
"lastModified": 1736366465,
"narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5c4302313d9207f7ec0886d68f8ff4a3c71209a1",
"rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5",
"type": "github"
},
"original": {
@ -473,11 +473,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1736300250,
"narHash": "sha256-TlIgvil72D5LuAKO5QHE+AbK8IDkwnWCkE8cI2W8ZXo=",
"lastModified": 1736363956,
"narHash": "sha256-cToe5P+lj0ATu3hfqxnNwkjRWp6E5rBbTFlvpy6b4a8=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "a17b5f107b49c5e9f70dd503eeba667561fb5eda",
"rev": "257cd359b4d8a831f95fa639c8b0cf114b75bd06",
"type": "github"
},
"original": {
@ -591,11 +591,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1736321941,
"narHash": "sha256-0Lek73m4nYRpxVoH4/IrFU+PFyPUpC9QAqja9TlcQxk=",
"lastModified": 1736368785,
"narHash": "sha256-qTACG+Ok913HxGEXzJiUl0HctxwlqGxSzbYJOecU978=",
"owner": "nix-community",
"repo": "NUR",
"rev": "4cbf26a208dab2142f5c4be0806415c6ab669b83",
"rev": "2e8d67c8cef21d3de362149f7cbe02c80ba9d19c",
"type": "github"
},
"original": {
@ -961,11 +961,11 @@
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1736323420,
"narHash": "sha256-JgdrGYJ6lJ0uQnxCayuzZzQxjIEDtZ37OdchY7C6dCI=",
"lastModified": 1736332701,
"narHash": "sha256-cIaANLOYu08lmqOp3Z5yhM4lRLCdg2QivCJgyd4NAZo=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "2eed881f1216cfafaafc9a77913a9a0ad553514c",
"rev": "ba62b407bdf0cb0b21641981a5729c4a6de0fa6c",
"type": "github"
},
"original": {

View file

@ -41,7 +41,6 @@ in {
(modules)
brave
flameshot
ghostty
misc-android
misc-desktop
misc-internet
@ -76,7 +75,6 @@ in {
inherit
(modules)
gtk
cursor
dunst
easyEffects
gammastep
@ -144,6 +142,7 @@ in {
bottom
direnv
fastfetch
ghostty
git
helix
homeManager
@ -151,7 +150,6 @@ in {
misc-commandLine
nushell
starship
wezterm
yazi
zellij
zoxide

View file

@ -1,5 +1,8 @@
{flake, ...}: let
inherit (flake.config.aesthetics.themes.theme) colors;
inherit
(flake.config.aesthetics.themes.theme)
colors
;
in {
colors = {
tableHeaderColor = colors.rosewater;

View file

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

View file

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

View file

@ -1,8 +0,0 @@
{pkgs, ...}: {
home.pointerCursor = {
gtk.enable = true;
name = "catppuccin-mocha-dark-cursors";
package = pkgs.catppuccin-cursors.macchiatoDark;
size = 14;
};
}

View file

@ -1,32 +0,0 @@
{flake, ...}: let
inherit (flake.config.aesthetics.themes.theme) colors font;
makeColor = c: "#" + c;
in {
services.dunst = {
enable = true;
settings = {
global = {
font = "${font} 10";
background = makeColor colors.base;
corner_radius = 10;
fade_in_duration = 1000;
foreground = makeColor colors.text;
frame = 10000;
frame_color = makeColor colors.mauve;
frame_width = 1;
icon_corner_radius = 10;
monitor = 1;
offset = "20x20";
origin = "bottom-right";
progress_bar_corner_radius = 4;
timeout = 10;
transparecncy = true;
};
urgency_critical = {
frame_color = makeColor colors.peach;
timeout = 0;
};
};
};
}

View file

@ -0,0 +1,31 @@
{flake, ...}: let
inherit
(flake.config.aesthetics.themes.theme)
colors
font
;
makeColor = c: "#" + c;
in {
global = {
font = "${font} 10";
background = makeColor colors.base;
corner_radius = 10;
fade_in_duration = 1000;
foreground = makeColor colors.text;
frame = 10000;
frame_color = makeColor colors.mauve;
frame_width = 1;
icon_corner_radius = 10;
monitor = 1;
offset = "20x20";
origin = "bottom-right";
progress_bar_corner_radius = 4;
timeout = 10;
transparecncy = true;
};
urgency_critical = {
frame_color = makeColor colors.peach;
timeout = 0;
};
}

13
home/modules/dunst/default.nix Executable file
View file

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

View file

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

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,9 @@
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix);
in {
programs.fastfetch = {
enable = true;
settings = settingsPath;
};
}

View file

@ -5,25 +5,49 @@
{
name = "PubMed";
url = "https://pubmed.ncbi.nlm.nih.gov";
tags = ["pub" "pubmed" "science" "research" "academic"];
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"];
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"];
tags = [
"standford"
"encyclopedia"
"philosophy"
"phil"
];
keyword = "Phil";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = ["votero" "bibliography" "bib" "zbib"];
tags = [
"votero"
"bibliography"
"bib"
"zbib"
];
keyword = "Bib";
}
];

View file

@ -1,5 +1,8 @@
let
gitlabTags = ["git" "gitlab"];
gitlabTags = [
"git"
"gitlab"
];
gitlabURL = "https://gitlab.com/";
in {
name = "Development";
@ -8,32 +11,51 @@ in {
{
name = "Discord (Development Portal)";
url = "https://discord.com/developers/applications";
tags = ["discord" "development" "portal" "bot"];
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"];
tags = [
"elm-ui"
"elm"
"ui"
];
keyword = "Elm";
}
{
name = "Elm Examples";
url = "https://elm-lang.org/examples";
tags = ["elm" "elm" "examples"];
tags = [
"elm"
"elm"
"examples"
];
keyword = "Elm";
}
{
name = "GitHub";
url = "https://github.com/BRBWaffles";
tags = ["git" "github" "brbwaffles"];
tags = [
"git"
"github"
"brbwaffles"
];
keyword = "GitHub";
}
{
name = "GitLab (Fallaryn)";
url = "${gitlabURL}/fallaryn/dotfiles";
tags =
["fallaryn"]
[
"fallaryn"
]
++ gitlabTags;
keyword = "GitLab";
}
@ -41,7 +63,10 @@ in {
name = "GitLab (Isaac)";
url = "${gitlabURL}/askyourself/dotfiles";
tags =
["isaac" "askyourself"]
[
"isaac"
"askyourself"
]
++ gitlabTags;
keyword = "GitLab";
}
@ -49,20 +74,29 @@ in {
name = "GitLab (Nick)";
url = "${gitlabURL}/upRootNutrition/dotfiles";
tags =
["brbwaffles"]
[
"brbwaffles"
]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "Hackage";
url = "https://hackage.haskell.org";
tags = ["hackage" "hack" "haskell"];
tags = [
"hackage"
"hack"
"haskell"
];
keyword = "Hack";
}
{
name = "Discord-Haskell";
url = "https://hackage.haskell.org/package/discord-haskell-1.17.1";
tags = ["discord" "haskell"];
tags = [
"discord"
"haskell"
];
keyword = "Dack";
}
];

View file

@ -5,79 +5,149 @@
{
name = "Adsense";
url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments";
tags = ["google" "adsense" "ads" "money"];
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"];
tags = [
"cra"
"canada"
"money"
];
keyword = "CRA";
}
{
name = "Credit Karma";
url = "https://www.creditkarma.ca";
tags = ["credit" "karma" "bank" "banking"];
tags = [
"credit"
"karma"
"bank"
"banking"
];
keyword = "Credit";
}
{
name = "Kijiji";
url = "https://www.kijiji.ca";
tags = ["kijiji" "kij" "ki"];
tags = [
"kijiji"
"kij"
"ki"
];
keyword = "Kij";
}
{
name = "LiberaPay";
url = "https://liberapay.com/upRootNutrition";
tags = ["libera" "liberapay" "donations" "bank" "banking" "money" "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"];
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"];
tags = [
"paypal"
"bank"
"banking"
"money"
];
keyword = "PayPal";
}
{
name = "Shopify";
url = "https://uprootnutrition.myshopify.com/admin";
tags = ["shopify" "business" "shop" "bank" "banking" "money"];
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"];
tags = [
"simplii"
"bank"
"banking"
"money"
];
keyword = "Simplii";
}
{
name = "Stripe";
url = "https://dashboard.stripe.com/settings/user";
tags = ["stripe" "bank" "banking" "money"];
tags = [
"stripe"
"bank"
"banking"
"money"
];
keyword = "Stripe";
}
{
name = "Telus (Security)";
url = "https://smarthome-security.telus.com/web/system/home";
tags = ["telus" "security"];
tags = [
"telus"
"security"
];
keyword = "ADT";
}
{
name = "Wealthsimple";
url = "https://my.wealthsimple.com/app/tax-onboarding/2021";
tags = ["wealth" "simple" "bank" "banking" "crypto"];
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"];
tags = [
"wix"
"website"
"business"
"bills"
"uprootnutrition"
];
keyword = "Wix";
}
];

View file

@ -1,13 +1,47 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit (flake.config.people.users.${user0}) aliases;
inherit (flake.config.machines.devices) synology server;
inherit (flake.config.services) instances;
inherit
(flake.config.people)
user0
;
inherit
(flake.config.people.users.${user0})
aliases
;
inherit
(flake.config.machines.devices)
synology
server
;
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];
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;
@ -15,13 +49,21 @@ in {
{
name = "Elm-Land Server";
url = "http://localhost:1234";
tags = ["elm-land" "elm" "land"];
tags = [
"elm-land"
"elm"
"land"
];
keyword = "Website";
}
{
name = instances.forgejo.label;
url = "https://${instances.forgejo.subdomain}.${instances.web.domains.url0}";
tags = [instances.forgejo.name "forge" "git"];
tags = [
instances.forgejo.name
"forge"
"git"
];
keyword = instances.forgejo.label;
}
{
@ -39,25 +81,42 @@ in {
{
name = instances.mastodon.label;
url = "https://${instances.web.domains.url1}";
tags = [instances.mastodon.name "mast" "md"];
tags = [
instances.mastodon.name
"mast"
"md"
];
keyword = instances.mastodon.label;
}
{
name = "Namecheap";
url = "https://www.namecheap.com";
tags = ["namecheap" "name" "cheap" "dns"];
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"];
tags = [
instances.nextcloud.name
"next"
"cloud"
"calendar"
];
keyword = instances.nextcloud.label;
}
{
name = aliases.name2;
url = instances.web.domains.url2;
tags = [aliases.name3 "blog"];
tags = [
aliases.name3
"blog"
];
keyword = aliases.name2;
}
{
@ -87,13 +146,21 @@ in {
{
name = instances.peertube.label;
url = "https://${instances.peertube.subdomain}.${instances.web.domains.url1}";
tags = [instances.peertube.name "peer" "tube" "uprootnutrition"];
tags = [
instances.peertube.name
"peer"
"tube"
"uprootnutrition"
];
keyword = instances.peertube.label;
}
{
name = "Router";
url = "http://${instances.web.localhost.address2}";
tags = ["router" "asus"];
tags = [
"router"
"asus"
];
keyword = "Router";
}
{
@ -115,13 +182,23 @@ in {
{
name = instances.synology.label;
url = "https://${synology.ip.address0}:${toString instances.synology.ports.port0}";
tags = [instances.synology.name "dsm" "cloud"];
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"];
tags = [
instances.vaultwarden.name
"bitwarden"
"vault"
"bit"
"warden"
];
keyword = instances.vaultwarden.label;
}
];

View file

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

View file

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

View file

@ -8,7 +8,12 @@ in {
{
name = "upRootNutrition";
url = "https://upRootNutrition.com";
tags = ["uprootnutrition" "up" "root" "nutrition"];
tags = [
"uprootnutrition"
"up"
"root"
"nutrition"
];
keyword = "Root";
}
{
@ -26,67 +31,109 @@ in {
{
name = "Gmail";
url = "https://mail.google.com/mail/u/0/#inbox";
tags = ["gmail" "google" "mail" "gm" "email"];
tags = [
"gmail"
"google"
"mail"
"gm"
"email"
];
keyword = "Gmail";
}
{
name = "Lemmy";
url = "https://lemmy.world";
tags = ["lemmy" "social"];
tags = [
"lemmy"
"social"
];
keyword = "Lem";
}
{
name = "OnlyFans";
url = "https://onlyfans.com";
tags = ["onlyfans" "only" "fans"];
tags = [
"onlyfans"
"only"
"fans"
];
keyword = "Only";
}
{
name = "Pixelfed";
url = "https://pixelfed.social/i/web/profile/651714972141461392";
tags = ["pixelfed" "pixel" "pi"];
tags = [
"pixelfed"
"pixel"
"pi"
];
keyword = "Pix";
}
{
name = "Proton Mail";
url = "https://mail.proton.me/u/1/inbox";
tags = ["proton" "mail" "pr" "email"];
tags = [
"proton"
"mail"
"pr"
"email"
];
keyword = "Pro";
}
{
name = "Proton Calendar";
url = "https://calendar.proton.me";
tags = ["proton" "calendar"];
tags = [
"proton"
"calendar"
];
keyword = "Cal";
}
{
name = "Proton VPN";
url = "https://account.proton.me/u/0/vpn";
tags = ["proton" "vpn"];
tags = [
"proton"
"vpn"
];
keyword = "VPN";
}
{
name = "Reddit";
url = "https://www.reddit.com";
tags = ["reddit" "social"];
tags = [
"reddit"
"social"
];
keyword = "Reddit";
}
{
name = "Slack";
url = "https://app.slack.com/";
tags = ["slack" "social"];
tags = [
"slack"
"social"
];
keyword = "Slack";
}
{
name = "StreamLabs";
url = "https://streamlabs.com/dashboard";
tags = ["streamlabs" "stream" "labs"];
tags = [
"streamlabs"
"stream"
"labs"
];
keyword = "Stream";
}
{
name = "Tinder";
url = "https://tinder.com/app/recs";
tags = ["tinder" "dating" "booty"];
tags = [
"tinder"
"dating"
"booty"
];
keyword = "Tinder";
}
{
@ -99,14 +146,20 @@ in {
name = "YouTube Studio";
url = "https://studio.youtube.com/channel/UCy9yYcDx2XuVVgcWLJJDoxw";
tags =
["studio"]
[
"studio"
]
++ youtubeTags;
keyword = "Studio";
}
{
name = "X (Twitter)";
url = "https://x.com/upRootNutrition";
tags = ["twitter" "x" "social"];
tags = [
"twitter"
"x"
"social"
];
keyword = "Twitter";
}
];

View file

@ -5,133 +5,216 @@
{
name = "Uncensored AI";
url = "https://www.aiuncensored.info";
tags = ["uncensored" "ai"];
tags = [
"uncensored"
"ai"
];
keyword = "AI";
}
{
name = "Canadian Blood Services";
url = "https://www.blood.ca/en";
tags = ["canadian" "blood" "services" "give"];
tags = [
"canadian"
"blood"
"services"
"give"
];
keyword = "Give";
}
{
name = "Chmod Calculator";
url = "https://chmod-calculator.com";
tags = ["chmod" "calculator"];
tags = [
"chmod"
"calculator"
];
keyword = "Chmod";
}
{
name = "ChatGPT";
url = "https://chatgpt.com";
tags = ["chat" "chatgpt" "gpt"];
tags = [
"chat"
"chatgpt"
"gpt"
];
keyword = "Chat";
}
{
name = "Claude AI";
url = "https://claude.ai";
tags = ["claude" "ai"];
tags = [
"claude"
"ai"
];
keyword = "Claude";
}
{
name = "Cronometer";
url = "https://cronometer.com/#diary";
tags = ["cronometer" "cron" "nutrition"];
tags = [
"cronometer"
"cron"
"nutrition"
];
keyword = "Cron";
}
{
name = "DNS Checker";
url = "https://dnschecker.org";
tags = ["dns" "checker"];
tags = [
"dns"
"checker"
];
keyword = "DNS";
}
{
name = "EventBrite";
url = "https://www.eventbrite.ca/d/canada--winnipeg/events--today/winnipeg/?page=1";
tags = ["eventbrite" "event" "brite"];
tags = [
"eventbrite"
"event"
"brite"
];
keyword = "Event";
}
{
name = "Google Maps";
url = "https://www.google.com/maps";
tags = ["maps" "google"];
tags = [
"maps"
"google"
];
keyword = "Map";
}
{
name = "ListenBrainz";
url = "https://listenbrainz.org/user/BRBWaffles";
tags = ["listenbrainz" "listen" "brains"];
tags = [
"listenbrainz"
"listen"
"brains"
];
keyword = "Listen";
}
{
name = "Memory Express";
url = "https://www.memoryexpress.com";
tags = ["memoryexpress" "memory" "mem" "express"];
tags = [
"memoryexpress"
"memory"
"mem"
"express"
];
keyword = "Mem";
}
{
name = "Percentage Calculator";
url = "https://percentagecalculator.net";
tags = ["percentage" "percent" "calculator"];
tags = [
"percentage"
"percent"
"calculator"
];
keyword = "Percent";
}
{
name = "Portchecker";
url = "https://portchecker.co";
tags = ["portchecker" "port" "checker"];
tags = [
"portchecker"
"port"
"checker"
];
keyword = "Port";
}
{
name = "Proof Tree";
url = "https://www.umsu.de/trees";
tags = ["proof" "tree" "logic" "academic"];
tags = [
"proof"
"tree"
"logic"
"academic"
];
keyword = "Logic";
}
{
name = "RhymeZone";
url = "https://www.rhymezone.com";
tags = ["rhymezone" "rhyme" "zone"];
keyword = "Rhyme";
}
{
name = "RhymeZone";
url = "https://www.rhymezone.com";
tags = ["rhymezone" "rhyme" "zone"];
tags = [
"rhymezone"
"rhyme"
"zone"
];
keyword = "Rhyme";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"];
tags = [
"sci"
"sci-hub"
"scihub"
"science"
"research"
"academic"
"torrent"
];
keyword = "Sci";
}
{
name = "Speedtest";
url = "https://www.speedtest.net";
tags = ["speedtest" "speed" "test"];
tags = [
"speedtest"
"speed"
"test"
];
keyword = "Speed";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = ["standford" "encyclopedia" "philosophy" "phil"];
tags = [
"standford"
"encyclopedia"
"philosophy"
"phil"
];
keyword = "Phil";
}
{
name = "Telus (Billing)";
url = "https://www.telus.com/my-telus/billing/summary";
tags = ["telus" "phone" "bills" "money"];
tags = [
"telus"
"phone"
"bills"
"money"
];
keyword = "Telus";
}
{
name = "TinEye";
url = "https://tineye.com";
tags = ["tineye" "tin" "eye"];
tags = [
"tineye"
"tin"
"eye"
];
keyword = "Tin";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = ["votero" "bibliography" "bib" "zbib"];
tags = [
"votero"
"bibliography"
"bib"
"zbib"
];
keyword = "Bib";
}
];

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,32 +1,56 @@
{
"Amazon" = {
definedAliases = ["@am"];
definedAliases = [
"@am"
];
icon = ./icons/am.png;
urls = [{template = "https://www.amazon.ca/s?k={searchTerms}&ref=nav_bb_sb";}];
urls = [
{template = "https://www.amazon.ca/s?k={searchTerms}&ref=nav_bb_sb";}
];
};
"Door Dash" = {
definedAliases = ["@do"];
definedAliases = [
"@do"
];
icon = ./icons/do.png;
urls = [{template = "https://www.doordash.com/search/store/{searchTerms}";}];
urls = [
{template = "https://www.doordash.com/search/store/{searchTerms}";}
];
};
"FYT Supplies" = {
definedAliases = ["@fy"];
definedAliases = [
"@fy"
];
icon = ./icons/fy.png;
urls = [{template = "https://fytsupplies.ca/search?type=product%2Carticle%2Cpage%2Ccollection&options[prefix]=last&q={searchTerms}*";}];
urls = [
{template = "https://fytsupplies.ca/search?type=product%2Carticle%2Cpage%2Ccollection&options[prefix]=last&q={searchTerms}*";}
];
};
"Kijiji" = {
definedAliases = ["@ki"];
definedAliases = [
"@ki"
];
icon = ./icons/ki.png;
urls = [{template = "https://www.kijiji.ca/b-winnipeg/{searchTerms}";}];
urls = [
{template = "https://www.kijiji.ca/b-winnipeg/{searchTerms}";}
];
};
"Memory Express" = {
definedAliases = ["@me"];
definedAliases = [
"@me"
];
icon = ./icons/me.png;
urls = [{template = "https://www.memoryexpress.com/Search/Products?Search={searchTerms}";}];
urls = [
{template = "https://www.memoryexpress.com/Search/Products?Search={searchTerms}";}
];
};
"Skip The Dishes" = {
definedAliases = ["@sk"];
definedAliases = [
"@sk"
];
icon = ./icons/sk.png;
urls = [{template = "https://www.skipthedishes.com/winnipeg/items?search={searchTerms}";}];
urls = [
{template = "https://www.skipthedishes.com/winnipeg/items?search={searchTerms}";}
];
};
}

View file

@ -1,17 +1,29 @@
{
"Reddit" = {
definedAliases = ["@re"];
definedAliases = [
"@re"
];
icon = ./icons/re.png;
urls = [{template = "https://www.reddit.com/search/?q={searchTerms}";}];
urls = [
{template = "https://www.reddit.com/search/?q={searchTerms}";}
];
};
"YouTube" = {
definedAliases = ["@yo"];
definedAliases = [
"@yo"
];
icon = ./icons/yo.png;
urls = [{template = "https://www.youtube.com/results?search_query={searchTerms}";}];
urls = [
{template = "https://www.youtube.com/results?search_query={searchTerms}";}
];
};
"X" = {
definedAliases = ["@tw"];
definedAliases = [
"@tw"
];
icon = ./icons/tw.png;
urls = [{template = "https://x.com/search?q={searchTerms}";}];
urls = [
{template = "https://x.com/search?q={searchTerms}";}
];
};
}

View file

@ -2,16 +2,26 @@
"Spankbang" = {
definedAliases = ["@sb"];
icon = ./icons/sb.png;
urls = [{template = "https://spankbang.com/s/{searchTerms}/";}];
urls = [
{template = "https://spankbang.com/s/{searchTerms}/";}
];
};
"XHampster" = {
definedAliases = ["@xh"];
definedAliases = [
"@xh"
];
icon = ./icons/xh.png;
urls = [{template = "https://xhamster.com/search/{searchTerms}";}];
urls = [
{template = "https://xhamster.com/search/{searchTerms}";}
];
};
"XVideos" = {
definedAliases = ["@xv"];
definedAliases = [
"@xv"
];
icon = ./icons/xv.png;
urls = [{template = "https://www.xvideos.com/?k={searchTerms}";}];
urls = [
{template = "https://www.xvideos.com/?k={searchTerms}";}
];
};
}

View file

@ -1,22 +1,38 @@
{
"AlternativeTo" = {
definedAliases = ["@al"];
definedAliases = [
"@al"
];
icon = ./icons/al.png;
urls = [{template = "https://alternativeto.net/browse/search/?q={searchTerms}";}];
urls = [
{template = "https://alternativeto.net/browse/search/?q={searchTerms}";}
];
};
"Rhyme Zone" = {
definedAliases = ["@rz"];
definedAliases = [
"@rz"
];
icon = ./icons/rz.png;
urls = [{template = "https://www.rhymezone.com/r/rhyme.cgi?Word={searchTerms}&typeofrhyme=perfect&org1=syl&org2=l&org3=y";}];
urls = [
{template = "https://www.rhymezone.com/r/rhyme.cgi?Word={searchTerms}&typeofrhyme=perfect&org1=syl&org2=l&org3=y";}
];
};
"Urban Dictionary" = {
definedAliases = ["@ur"];
definedAliases = [
"@ur"
];
icon = ./icons/ur.png;
urls = [{template = "https://www.urbandictionary.com/define.php?term={searchTerms}";}];
urls = [
{template = "https://www.urbandictionary.com/define.php?term={searchTerms}";}
];
};
"Stanford Encyclopedia of Philosophy" = {
definedAliases = ["@ph"];
definedAliases = [
"@ph"
];
icon = ./icons/ph.png;
urls = [{template = "https://plato.stanford.edu/search/searcher.py?query={searchTerms}";}];
urls = [
{template = "https://plato.stanford.edu/search/searcher.py?query={searchTerms}";}
];
};
}

View file

@ -1,27 +1,47 @@
{
"1337x" = {
definedAliases = ["@13"];
definedAliases = [
"@13"
];
icon = ./icons/13.png;
urls = [{template = "https://1337x.to/search/{searchTerms}/1/";}];
urls = [
{template = "https://1337x.to/search/{searchTerms}/1/";}
];
};
"Core Radio" = {
definedAliases = ["@cr"];
definedAliases = [
"@cr"
];
icon = ./icons/cr.png;
urls = [{template = "https://coreradio.online/?do=search&subaction=search&story={searchTerms}";}];
urls = [
{template = "https://coreradio.online/?do=search&subaction=search&story={searchTerms}";}
];
};
"The Pirate Bay" = {
definedAliases = ["@pi"];
definedAliases = [
"@pi"
];
icon = ./icons/pi.png;
urls = [{template = "https://thepiratebay.org/search.php?q={searchTerms}&all=on&search=Pirate+Search&page=0&orderby=";}];
urls = [
{template = "https://thepiratebay.org/search.php?q={searchTerms}&all=on&search=Pirate+Search&page=0&orderby=";}
];
};
"Torrent Leech" = {
definedAliases = ["@tl"];
definedAliases = [
"@tl"
];
icon = ./icons/tl.png;
urls = [{template = "https://www.torrentleech.org/torrents/browse/index/query/{searchTerms}";}];
urls = [
{template = "https://www.torrentleech.org/torrents/browse/index/query/{searchTerms}";}
];
};
"VSTorrent" = {
definedAliases = ["@vs"];
definedAliases = [
"@vs"
];
icon = ./icons/vs.png;
urls = [{template = "https://vstorrent.org/?s={searchTerms}";}];
urls = [
{template = "https://vstorrent.org/?s={searchTerms}";}
];
};
}

View file

@ -1,12 +1,20 @@
{
"Brave" = {
definedAliases = ["@br"];
definedAliases = [
"@br"
];
icon = ./icons/br.png;
urls = [{template = "https://search.brave.com/search?q={searchTerms}&source=web";}];
urls = [
{template = "https://search.brave.com/search?q={searchTerms}&source=web";}
];
};
"Kagi" = {
definedAliases = ["@ka"];
definedAliases = [
"@ka"
];
icon = ./icons/ka.png;
urls = [{template = "https://kagi.com/search?q={searchTerms}";}];
urls = [
{template = "https://kagi.com/search?q={searchTerms}";}
];
};
}

View file

@ -1,6 +1,6 @@
{flake, ...}: let
configPath = ./config;
flakedPath = configPath + "/flake";
flakedPath = configPath + /flake;
regularSearchEngines = let
files = builtins.attrNames (builtins.readDir configPath);
@ -15,7 +15,12 @@
in
builtins.foldl' (
emptySet: searchEngine:
emptySet // (import (flakedPath + "/${searchEngine}") {inherit flake;})
emptySet
// (import (flakedPath + "/${searchEngine}") {
inherit
flake
;
})
) {} (builtins.filter (name: builtins.match ".*\\.nix$" name != null) files);
aggregatedSearchEngines = regularSearchEngines // flakedSearchEngines;

View file

@ -3,13 +3,28 @@
flake,
...
}: let
inherit (flake.config.people) user0;
inherit
(flake.config.people)
user0
;
in {
programs.firefox = let
configPath = ./config;
bookmarksPath = import (configPath + /bookmarks) {inherit flake;};
extensionsPath = import (configPath + /extensions) {inherit pkgs;};
searchPath = import (configPath + /search) {inherit flake;};
bookmarksPath = import (configPath + /bookmarks) {
inherit
flake
;
};
extensionsPath = import (configPath + /extensions) {
inherit
pkgs
;
};
searchPath = import (configPath + /search) {
inherit
flake
;
};
settingsPath = import (configPath + /settings);
themesPath = import (configPath + /themes);
in {

View file

@ -1,7 +1,7 @@
{
programs.freetube = let
configPath = ./config;
settingsPath = import (configPath + "/settings.nix");
settingsPath = import (configPath + /settings.nix);
in {
enable = true;
settings = settingsPath;

View file

@ -1,10 +0,0 @@
{
programs.ghostty = {
enable = true;
settings = {
confirm-close-surface = false;
theme = "catppuccin-macchiato";
window-decoration = false;
};
};
}

View file

@ -0,0 +1,18 @@
{
flake,
pkgs,
...
}: let
inherit (flake.config.aesthetics.themes.theme) font;
in {
confirm-close-surface = false;
window-decoration = false;
font-size = 10;
font-family = font;
window-padding-x = 10;
window-padding-y = 10;
copy-on-select = true;
bold-is-bright = true;
shell-integration = "detect";
command = "${pkgs.nushell}/bin/nu";
}

View file

@ -0,0 +1,29 @@
{flake, ...}: let
inherit (flake.config.aesthetics.themes.theme) colors;
in {
catppuccin-macchiato = {
background = "${colors.base}";
cursor-color = "${colors.rosewater}";
foreground = "${colors.text}";
palette = [
"0=${colors.surface1}"
"1=${colors.red}"
"2=${colors.green}"
"3=${colors.yellow}"
"4=${colors.blue}"
"5=${colors.pink}"
"6=${colors.teal}"
"7=${colors.subtext0}"
"8=${colors.surface2}"
"9=${colors.red}"
"10=${colors.green}"
"11=${colors.yellow}"
"12=${colors.blue}"
"13=${colors.pink}"
"14=${colors.teal}"
"15=${colors.subtext1}"
];
selection-background = "${colors.surface2}";
selection-foreground = "${colors.text}";
};
}

View file

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

View file

@ -1,27 +0,0 @@
{pkgs, ...}: {
gtk = {
cursorTheme = {
name = "catppuccin-macchiato-dark-cursors";
package = pkgs.catppuccin-cursors.macchiatoDark;
};
enable = true;
iconTheme = {
package = pkgs.catppuccin-papirus-folders.override {
flavor = "macchiato";
accent = "mauve";
};
name = "Papirus-Dark";
};
theme = {
package = pkgs.catppuccin-gtk.override {
size = "compact";
variant = "macchiato";
accents = ["mauve"];
};
name = "catppuccin-macchiato-mauve-compact";
};
};
}

View file

@ -0,0 +1,4 @@
{pkgs, ...}: {
name = "catppuccin-macchiato-dark-cursors";
package = pkgs.catppuccin-cursors.macchiatoDark;
}

View file

@ -0,0 +1,6 @@
{pkgs, ...}: {
gtk.enable = true;
name = "catppuccin-mocha-dark-cursors";
package = pkgs.catppuccin-cursors.macchiatoDark;
size = 14;
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
package = pkgs.catppuccin-papirus-folders.override {
flavor = "macchiato";
accent = "mauve";
};
name = "Papirus-Dark";
}

View file

@ -0,0 +1,10 @@
{pkgs, ...}: {
package = pkgs.catppuccin-gtk.override {
size = "compact";
variant = "macchiato";
accents = [
"mauve"
];
};
name = "catppuccin-macchiato-mauve-compact";
}

31
home/modules/gtk/default.nix Executable file
View file

@ -0,0 +1,31 @@
{pkgs, ...}: let
configPath = ./config;
cursorThemePath = import (configPath + /cursorTheme.nix) {
inherit
pkgs
;
};
iconThemePath = import (configPath + /iconTheme.nix) {
inherit
pkgs
;
};
themePath = import (configPath + /theme.nix) {
inherit
pkgs
;
};
homeCursorPath = import (configPath + /homeCursor.nix) {
inherit
pkgs
;
};
in {
gtk = {
enable = true;
cursorTheme = cursorThemePath;
iconTheme = iconThemePath;
theme = themePath;
};
home.pointerCursor = homeCursorPath;
}

View file

@ -1,8 +1,8 @@
{pkgs, ...}: {
programs.helix = let
configPath = ./config;
settingsPath = import (configPath + "/settings.nix");
languagesPath = import (configPath + "/languages.nix");
settingsPath = import (configPath + /settings.nix);
languagesPath = import (configPath + /languages.nix);
in {
enable = true;
package = pkgs.helix;

View file

@ -45,7 +45,8 @@ let
superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [
# Super+shift binds
"S, exec, grim -g \"$(slurp)\" - | wl-copy -t image/png"
"S, exec, hyprshot -m region"
"W, exec, hyprshot -m window"
"Print, exec, grim -g \"$(slurp)\""
"ScrollDown, workspace, previous"
"left , movewindow, l"

View file

@ -1,6 +1,5 @@
[
"swaylock"
"grim"
"wl-clipboard"
"wpaperd"
"gammastep"
@ -9,4 +8,9 @@
"waybar"
"nm-applet"
"blueman-applet"
"easyeffects"
"pkill easyeffects"
"emote"
"sgsettings set org.gnome.desktop.interface cursor-theme 'catppuccin-mocha-dark-cursors'"
"gsettings set org.gnome.desktop.interface cursor-size 18"
]

View file

@ -4,14 +4,12 @@ let
nomacs = "(org.nomacs.ImageLounge)";
mpv = "(mpv)";
emote = "(emote)";
proton = "(.protonvpn-app-wrapped)";
maxsizeWindows = [
"maxsize 640x360, class:^${blueman}$"
"maxsize 640x360, class:^${easyeffects}$"
"maxsize 640x360, class:^${mpv}$"
"maxsize 960x540, class:^${nomacs}$"
"maxsize 1000x1000, class:^${proton}$"
"maxsize 640 640, class:^${blueman}$"
"maxsize 720 720, class:^${easyeffects}$"
"maxsize 720 720, class:^${mpv}$"
"maxsize 640 360, class:^${nomacs}$"
];
floatWindows = builtins.map (x: "float, " + x) [
"class:${blueman}"
@ -19,7 +17,6 @@ let
"class:${emote}"
"class:${mpv}"
"class:${nomacs}"
"class:${proton}"
"title:^(Picture-in-Picture)$"
];

View file

@ -2,7 +2,6 @@
home.packages = builtins.attrValues {
inherit
(pkgs.kdePackages)
# KDE Packages
kolourpaint
okular
partitionmanager
@ -10,6 +9,7 @@
;
inherit
(pkgs)
nwg-look
bulky
gnome-calculator
gnome-disk-utility

View file

@ -3,12 +3,11 @@
inherit
(pkgs)
alsa-utils
grim
slurp
wl-clipboard
wpaperd
swaylock
playerctl
hyprshot
;
};
}

View file

@ -13,11 +13,8 @@
# Privacy
bitwarden
ledger-live-desktop
openvpn
protonvpn-gui
protonvpn-cli_2
tor-browser
nicotine-plus
;
};
}

View file

@ -3,12 +3,10 @@
inherit
(pkgs)
# Mp3
kid3
mp3gain
puddletag
# Tracking
nicotine-plus
soulseekqt
;

View file

@ -2,11 +2,14 @@
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";
};
};
}

0
home/modules/qbittorrent/catppuccin-macchiato.qbtheme Normal file → Executable file
View file

0
home/modules/qbittorrent/default.nix Normal file → Executable file
View file

View file

@ -3,10 +3,32 @@
lib,
...
}: let
inherit (flake.config.aesthetics.themes.theme) colors;
makeColor = c: "#" + c;
makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold";
surround = fg: text: "[](fg:" + makeColor colors.base + " bg:" + fg + ")" + "[](fg:" + fg + ")" + text + "[](fg:" + fg + ")";
inherit
(flake.config.aesthetics.themes.theme)
colors
;
makeColor = c:
"#"
+ c;
makeStyle = bg: fg:
"bg:"
+ bg
+ " fg:"
+ fg
+ " bold";
surround = fg: text:
"[](fg:"
+ makeColor colors.base
+ " bg:"
+ fg
+ ")"
+ "[](fg:"
+ fg
+ ")"
+ text
+ "[](fg:"
+ fg
+ ")";
in {
add_newline = false;
character = let

View file

@ -5,8 +5,10 @@
}: let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) {
inherit flake;
inherit lib;
inherit
flake
lib
;
};
in {
programs.starship = {

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.aesthetics.themes.theme) colors font;
inherit
(flake.config.aesthetics.themes.theme)
colors
font
;
in {
font = font;
indicator-idle-visible = true;

View file

@ -1,6 +1,10 @@
{flake, ...}: let
configPath = ./config;
settingsPath = import (configPath + "/settings.nix") {inherit flake;};
settingsPath = import (configPath + /settings.nix) {
inherit
flake
;
};
in {
programs.swaylock = {
enable = true;

View file

@ -4,7 +4,10 @@
flake,
...
}: let
inherit (flake.config.aesthetics.themes.theme) font;
inherit
(flake.config.aesthetics.themes.theme)
font
;
in {
"git.confirmSync" = false;
"editor.insertSpaces" = false;

View file

@ -7,13 +7,13 @@
programs = {
vscode = let
configPath = ./config;
keybindingsPath = import (configPath + "/keybindings.nix");
extensionsPath = import (configPath + "/extensions.nix") {
keybindingsPath = import (configPath + /keybindings.nix);
extensionsPath = import (configPath + /extensions.nix) {
inherit
pkgs
;
};
userSettingsPath = import (configPath + "/userSettings.nix") {
userSettingsPath = import (configPath + /userSettings.nix) {
inherit
pkgs
lib

View file

@ -19,7 +19,7 @@
"memory"
"disk"
"pulseaudio"
"network"
# "network"
"clock"
];
clock = {
@ -67,13 +67,13 @@
format = "󰋊 {percentage_used}%";
interval = 60;
};
network = {
format-wifi = " {signalStrength}%";
format-ethernet = "󰀂 ";
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
format-linked = "{ifname} (No IP)";
format-disconnected = "󰖪 ";
};
# network = {
# format-wifi = " {signalStrength}%";
# format-ethernet = "󰀂 ";
# tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
# format-linked = "{ifname} (No IP)";
# format-disconnected = "󰖪 ";
# };
tray = {
icon-size = 18;
spacing = 8;
@ -82,9 +82,9 @@
format = "{icon} {volume}%";
tooltip = false;
format-muted = " Muted";
on-click = "pamixer -t";
on-scroll-up = "pamixer -i 5";
on-scroll-down = "pamixer -d 5";
on-click = "easyeffects";
on-scroll-up = "amixer sset Master 5%+";
on-scroll-down = "amixer sset Master 5%-";
scroll-step = 5;
format-icons = {
headphone = "";

View file

@ -1,5 +1,9 @@
{flake, ...}: let
inherit (flake.config.aesthetics.themes.theme) font colors;
inherit
(flake.config.aesthetics.themes.theme)
font
colors
;
custom = {
font = font;
font_size = "14px";
@ -46,7 +50,7 @@ in ''
color: #${colors.mauve};
}
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock {
#tray, #pulseaudio, #cpu, #memory, #disk, #clock {
font-size: ${custom.font_size};
color: #${colors.mauve};
padding-right: 10px;
@ -54,8 +58,10 @@ in ''
#cpu {
}
#memory {
}
#disk {
}
@ -64,8 +70,6 @@ in ''
#pulseaudio {
}
#network {
}
#clock {
}

View file

@ -1,17 +1,14 @@
{
pkgs,
flake,
...
}: let
{flake, ...}: let
configPath = ./config;
settingsPath = import (configPath + "/settings.nix");
stylePath = import (configPath + /style.nix) {inherit flake;};
settingsPath = import (configPath + /settings.nix);
stylePath = import (configPath + /style.nix) {
inherit
flake
;
};
in {
programs.waybar = {
enable = true;
package = pkgs.waybar.overrideAttrs (oa: {
# mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];
});
settings = settingsPath;
style = stylePath;
};

View file

@ -1,7 +1,11 @@
{flake, ...}: {
programs.wezterm = let
configPath = ./config;
extraConfigPath = import (configPath + "/extraConfig.nix") {inherit flake;};
extraConfigPath = import (configPath + /extraConfig.nix) {
inherit
flake
;
};
in {
enable = true;
extraConfig = extraConfigPath;

View file

@ -1,8 +1,8 @@
{
programs.yazi = let
configPath = ./config;
keymapPath = import (configPath + "/keymap.nix");
settingsPath = import (configPath + "/settings.nix");
keymapPath = import (configPath + /keymap.nix);
settingsPath = import (configPath + /settings.nix);
in {
enable = true;
enableNushellIntegration = true;

View file

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

View file

@ -8,22 +8,34 @@
mkHome = modules: system:
inputs.home-manager.lib.homeManagerConfiguration {
pkgs = import inputs.nixpkgs {
inherit system;
inherit
system
;
config.allowUnfree = true;
};
extraSpecialArgs = {
inherit inputs;
inherit
inputs
;
};
inherit modules;
inherit
modules
;
};
mkLinuxSystem = modules:
inputs.nixpkgs.lib.nixosSystem {
specialArgs = {
flake = {
inherit config inputs self;
inherit
config
inputs
self
;
};
};
inherit modules;
inherit
modules
;
};
};
}

View file

@ -1,7 +1,11 @@
{
nix.settings = {
substituters = ["https://cosmic.cachix.org/"];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
substituters = [
"https://cosmic.cachix.org/"
];
trusted-public-keys = [
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
};
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;

View file

@ -1,5 +1,8 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit
(flake.config.people)
user0
;
in {
security = {
doas = {
@ -8,7 +11,9 @@ in {
{
keepEnv = true;
noPass = true;
users = [user0];
users = [
user0
];
}
];
};

View file

@ -13,13 +13,12 @@
;
};
variables = {
VIDEO_PLAYER = "vlc";
VIDEO_PLAYER = "mpv";
EDITOR = "hx";
WLR_NO_HARDWARE_CURSORS = "1";
WLR_DRM_NO_ATOMIC = "1";
NIXPKGS_ALLOW_INSECURE = "1";
NIXPKGS_ALLOW_UNFREE = "1";
GRIM_DEFAULT_DIR = "$HOME/Pictures/screenshots/";
};
};
}

View file

@ -3,15 +3,24 @@
flake,
...
}: let
inherit (flake.config.aesthetics.themes.theme) font;
inherit
(flake.config.aesthetics.themes.theme)
font
;
in {
fonts = {
fontconfig = {
enable = true;
defaultFonts = {
serif = [font];
monospace = [font];
sansSerif = [font];
serif = [
font
];
monospace = [
font
];
sansSerif = [
font
];
emoji = ["Noto Fonts Color Emoji"];
};
antialias = true;

View file

@ -4,7 +4,10 @@
lib,
...
}: let
inherit (flake.config.people) user0;
inherit
(flake.config.people)
user0
;
in {
services = {
greetd = {

View file

@ -4,7 +4,9 @@
useUserPackages = true;
backupFileExtension = "backup";
extraSpecialArgs = {
inherit flake;
inherit
flake
;
};
};
}

View file

@ -10,6 +10,8 @@
};
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk];
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
}

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