feat: changed home-manager to home
142
home/default.nix
Executable file
|
@ -0,0 +1,142 @@
|
|||
let
|
||||
modulesPath = ./modules;
|
||||
miscPath = modulesPath + "/misc";
|
||||
|
||||
moduleImport = path: nameTransform:
|
||||
builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
name = nameTransform name;
|
||||
value = import (path + "/${name}");
|
||||
})
|
||||
(
|
||||
builtins.filter
|
||||
(name: (builtins.readDir path).${name} == "regular" && builtins.match ".*\\.nix$" name != null)
|
||||
(builtins.attrNames (builtins.readDir path))
|
||||
)
|
||||
);
|
||||
|
||||
modules =
|
||||
moduleImport modulesPath (name: builtins.replaceStrings [".nix"] [""] name)
|
||||
// moduleImport miscPath (name: "misc-${builtins.replaceStrings [".nix"] [""] name}")
|
||||
// (path:
|
||||
builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
name = name;
|
||||
value = import (path + "/${name}");
|
||||
})
|
||||
(
|
||||
builtins.filter
|
||||
(name: (builtins.readDir path).${name} == "directory" && name != "misc")
|
||||
(builtins.attrNames (builtins.readDir path))
|
||||
)
|
||||
))
|
||||
modulesPath;
|
||||
in {
|
||||
flake.homeModules = {
|
||||
desktop = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
brave
|
||||
flameshot
|
||||
misc-android
|
||||
misc-desktop
|
||||
misc-internet
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
entertainment = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
freetube
|
||||
misc-entertainment
|
||||
mpv
|
||||
steam
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
firefox = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
firefox
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
productionArt = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
misc-productionArt
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
productionAudio = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
misc-productionAudio
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
productionCode = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
vscode
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
productionVideo = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
misc-productionVideo
|
||||
obs-studio
|
||||
yt-dlp
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
productionWriting = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
misc-productionWriting
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
shared = {
|
||||
imports = builtins.attrValues {
|
||||
inherit
|
||||
(modules)
|
||||
bat
|
||||
bottom
|
||||
direnv
|
||||
fastfetch
|
||||
git
|
||||
helix
|
||||
home-manager
|
||||
lazygit
|
||||
misc-commandLine
|
||||
nushell
|
||||
starship
|
||||
wezterm
|
||||
yazi
|
||||
zellij
|
||||
zoxide
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
13
home/modules/bat/default.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config.theme = "catppuccin-macchiato";
|
||||
};
|
||||
home = {
|
||||
file = {
|
||||
"./.config/bat/themes/macchiato.tmTheme" = {
|
||||
source = ./macchiato.tmTheme;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
959
home/modules/bat/macchiato.tmTheme
Executable file
|
@ -0,0 +1,959 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Catppuccin</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#24273a</string>
|
||||
<key>caret</key>
|
||||
<string>#b8c0e0</string>
|
||||
<key>invisibles</key>
|
||||
<string>#a5adcb</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>gutterForegroundHighlight</key>
|
||||
<string>#a6da95</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#5b6078</string>
|
||||
<key>selection</key>
|
||||
<string>#6e738d</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#24273a</string>
|
||||
<key>activeGuide</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>findHighlightForeground</key>
|
||||
<string>#1e2030</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#eed49f</string>
|
||||
<key>bracketsForeground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#939ab7</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6e738d</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6da95</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String regex</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Number</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.boolean</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.builtin</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>User-defined constant</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict></dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Conditional/loop</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Return</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.return, keyword.control.flow.return</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Exception</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.exception</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operator</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator, punctuation.accessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation terminator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.terminator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation bracket</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Include</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import.include</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eed49f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage modifier</string>
|
||||
<key>scope</key>
|
||||
<string>storage.modifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type namespace</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.namespace, meta.path</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type class</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Label</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword class</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.class, meta.toc-list.full-identifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inherited class</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function macro</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.preprocessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Macro directive - ifdef</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constructor</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.constructor, entity.name.function.destructor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function argument</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function declaration</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library class/type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type, support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable other</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable field</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.member</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable language</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag attribute</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag delimiter</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown URL</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown reference</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link.inline.description</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown literal</string>
|
||||
<key>scope</key>
|
||||
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown title</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown emphasis</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown strong</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua field</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua constructor</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f0c6c6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Java constant</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.constant.java</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f0c6c6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant.property-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS suffix</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS variable property</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SCSS tag</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SASS variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.sass</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6e738d</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6da95</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eed49f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Message error</string>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.Catppuccin</string>
|
||||
<key>author</key>
|
||||
<string>BrunDerSchwarzmagier</string>
|
||||
</dict>
|
||||
</plist>
|
27
home/modules/bottom/config/settings.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
settings = {
|
||||
colors = {
|
||||
tableHeaderColor = "#f4dbd6";
|
||||
allCpuColor = "#f4dbd6";
|
||||
avgCpuColor = "#ee99a0";
|
||||
cpuCoreColors = ["#ed8796" "#f5a97f" "#eed49f" "#a6da95" "#7dc4e4" "#c6a0f6"];
|
||||
ramColor = "#a6da95";
|
||||
swapColor = "#f5a97f";
|
||||
rxColor = "#a6da95";
|
||||
txColor = "#ed8796";
|
||||
widgetTitleColor = "#f0c6c6";
|
||||
borderColor = "#5b6078";
|
||||
highlightedBorderColor = "#f5bde6";
|
||||
textColor = "#cad3f5";
|
||||
graphColor = "#a5adcb";
|
||||
cursorColor = "#f5bde6";
|
||||
selectedTextColor = "#181926";
|
||||
selectedBgColor = "#c6a0f6";
|
||||
highBatteryColor = "#a6da95";
|
||||
mediumBatteryColor = "#eed49f";
|
||||
lowBatteryColor = "#ed8796";
|
||||
gpuCoreColors = ["#7dc4e4" "#c6a0f6" "#ed8796" "#f5a97f" "#eed49f" "#a6da95"];
|
||||
arcColor = "#91d7e3";
|
||||
};
|
||||
};
|
||||
}
|
9
home/modules/bottom/default.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.bottom = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import (configPath + /settings.nix));
|
||||
}
|
10
home/modules/brave/config/extensions.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
extensions = [
|
||||
{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
|
||||
];
|
||||
}
|
9
home/modules/brave/default.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.brave = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import (configPath + /extensions.nix));
|
||||
}
|
6
home/modules/direnv.nix
Executable file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
7
home/modules/fastfetch.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
}
|
30
home/modules/firefox/config/bookmarks/config/academic.nix
Executable file
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
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";
|
||||
}
|
||||
];
|
||||
}
|
59
home/modules/firefox/config/bookmarks/config/development.nix
Executable file
|
@ -0,0 +1,59 @@
|
|||
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 = "GitHub";
|
||||
url = "https://github.com/BRBWaffles";
|
||||
tags = ["git" "github" "brbwaffles"];
|
||||
keyword = "GitHub";
|
||||
}
|
||||
{
|
||||
name = "GitLab (Appoota)";
|
||||
url = "${gitlabURL}/Appoota/dotfiles";
|
||||
tags =
|
||||
["appoota"]
|
||||
++ gitlabTags;
|
||||
keyword = "GitLab";
|
||||
}
|
||||
{
|
||||
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}/BRBWaffles/dotfiles";
|
||||
tags =
|
||||
["brbwaffles"]
|
||||
++ gitlabTags;
|
||||
keyword = "GitLab";
|
||||
}
|
||||
{
|
||||
name = "Hackage";
|
||||
url = "https://hackage.haskell.org";
|
||||
tags = ["hackage" "hack" "haskell"];
|
||||
keyword = "Hack";
|
||||
}
|
||||
];
|
||||
}
|
84
home/modules/firefox/config/bookmarks/config/finances.nix
Executable file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
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/TheNutrivore";
|
||||
tags = ["libera" "liberapay" "donations" "bank" "banking" "money" "nutrivore"];
|
||||
keyword = "Libera";
|
||||
}
|
||||
{
|
||||
name = "Patreon";
|
||||
url = "https://www.patreon.com/thenutrivore";
|
||||
tags = ["patreon" "donations" "bank" "banking" "money" "nutrivore"];
|
||||
keyword = "Patreon";
|
||||
}
|
||||
{
|
||||
name = "PayPal";
|
||||
url = "https://www.paypal.com/myaccount/summary?intl=0";
|
||||
tags = ["paypal" "bank" "banking" "money"];
|
||||
keyword = "PayPal";
|
||||
}
|
||||
{
|
||||
name = "Shopify";
|
||||
url = "https://the-nutrivore.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" "nutrivore"];
|
||||
keyword = "Wix";
|
||||
}
|
||||
];
|
||||
}
|
128
home/modules/firefox/config/bookmarks/config/flake/selfHosted.nix
Executable file
|
@ -0,0 +1,128 @@
|
|||
{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;
|
||||
|
||||
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 = instances.forgejo.label;
|
||||
url = "https://${instances.forgejo.subdomain}.${instances.web.domains.url0}";
|
||||
tags = [instances.forgejo.name "forge" "git"];
|
||||
keyword = instances.forgejo.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://${server.ip.address0}:${toString instances.jellyfin.ports.port1}";
|
||||
tags = jellyfinTags;
|
||||
keyword = instances.jellyfin.label;
|
||||
}
|
||||
{
|
||||
name = instances.mastodon.label;
|
||||
url = "https://${instances.web.domains.url1}";
|
||||
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.url1}";
|
||||
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://${server.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.url1}";
|
||||
tags = [instances.peertube.name "peer" "tube" "nutrivore"];
|
||||
keyword = instances.peertube.label;
|
||||
}
|
||||
{
|
||||
name = "Router";
|
||||
url = "http://${instances.web.localhost.address2}";
|
||||
tags = ["router" "asus"];
|
||||
keyword = "Router";
|
||||
}
|
||||
{
|
||||
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;
|
||||
}
|
||||
{
|
||||
name = instances.wiki.label;
|
||||
url = "https://${instances.wiki.subdomain}.${instances.web.domains.url1}";
|
||||
tags = [instances.wiki.name "vault"];
|
||||
keyword = instances.wiki.label;
|
||||
}
|
||||
];
|
||||
}
|
36
home/modules/firefox/config/bookmarks/config/gaming.nix
Executable file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
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";
|
||||
}
|
||||
];
|
||||
}
|
42
home/modules/firefox/config/bookmarks/config/shopping.nix
Executable file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
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 = "Amazon";
|
||||
}
|
||||
{
|
||||
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";
|
||||
}
|
||||
];
|
||||
}
|
101
home/modules/firefox/config/bookmarks/config/socialMedia.nix
Executable file
|
@ -0,0 +1,101 @@
|
|||
let
|
||||
discordTags = ["disboard" "discord" "dis" "ds" "social"];
|
||||
youtubeTags = ["youtube" "you" "tube" "yt"];
|
||||
in {
|
||||
name = "Social Media";
|
||||
toolbar = false;
|
||||
bookmarks = [
|
||||
{
|
||||
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 = "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 = "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://twitter.com/TheNutrivore";
|
||||
tags = ["twitter" "x" "social"];
|
||||
keyword = "Twitter";
|
||||
}
|
||||
];
|
||||
}
|
138
home/modules/firefox/config/bookmarks/config/tools.nix
Executable file
|
@ -0,0 +1,138 @@
|
|||
{
|
||||
name = "Tools";
|
||||
toolbar = false;
|
||||
bookmarks = [
|
||||
{
|
||||
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 = "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";
|
||||
}
|
||||
];
|
||||
}
|
30
home/modules/firefox/config/bookmarks/config/tracking.nix
Executable file
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
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";
|
||||
}
|
||||
];
|
||||
}
|
26
home/modules/firefox/config/bookmarks/default.nix
Executable file
|
@ -0,0 +1,26 @@
|
|||
{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;
|
||||
}
|
14
home/modules/firefox/config/extensions/default.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{nur, ...}: {
|
||||
extensions = builtins.attrValues {
|
||||
inherit
|
||||
(nur.repos.rycee.firefox-addons)
|
||||
bitwarden
|
||||
enhancer-for-youtube
|
||||
localcdn
|
||||
sponsorblock
|
||||
ublock-origin
|
||||
unpaywall
|
||||
sidebery
|
||||
;
|
||||
};
|
||||
}
|
12
home/modules/firefox/config/search/config/academic.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"Sci-Hub" = {
|
||||
definedAliases = ["@sc"];
|
||||
icon = ./icons/sc.png;
|
||||
urls = [{template = "https://sci-hub.ee/{searchTerms}";}];
|
||||
};
|
||||
"Wikipedia" = {
|
||||
definedAliases = ["@wi"];
|
||||
icon = ./icons/wi.png;
|
||||
urls = [{template = "https://en.wikipedia.org/wiki/{searchTerms}";}];
|
||||
};
|
||||
}
|
37
home/modules/firefox/config/search/config/development.nix
Executable file
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"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://searchix.alanpearce.eu/options/nixos/search?query={searchTerms}";}];
|
||||
};
|
||||
"Nix Packages" = {
|
||||
definedAliases = ["@np"];
|
||||
icon = ./icons/nx.png;
|
||||
urls = [{template = "https://searchix.alanpearce.eu/packages/nixpkgs/search?query={searchTerms}";}];
|
||||
};
|
||||
"Nix Wiki" = {
|
||||
definedAliases = ["@nw"];
|
||||
icon = ./icons/nx.png;
|
||||
urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
|
||||
};
|
||||
}
|
BIN
home/modules/firefox/config/search/config/flake/icons/jf.png
Executable file
After Width: | Height: | Size: 87 KiB |
BIN
home/modules/firefox/config/search/config/flake/icons/pt.png
Executable file
After Width: | Height: | Size: 71 KiB |
14
home/modules/firefox/config/search/config/flake/selfHosted.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{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}";}];
|
||||
};
|
||||
}
|
13
home/modules/firefox/config/search/config/gaming.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"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}";}];
|
||||
};
|
||||
}
|
7
home/modules/firefox/config/search/config/hidden.nix
Executable 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;
|
||||
}
|
BIN
home/modules/firefox/config/search/config/icons/13.png
Executable file
After Width: | Height: | Size: 25 KiB |
BIN
home/modules/firefox/config/search/config/icons/al.png
Executable file
After Width: | Height: | Size: 15 KiB |
BIN
home/modules/firefox/config/search/config/icons/am.png
Executable file
After Width: | Height: | Size: 20 KiB |
BIN
home/modules/firefox/config/search/config/icons/br.png
Executable file
After Width: | Height: | Size: 38 KiB |
BIN
home/modules/firefox/config/search/config/icons/cr.png
Executable file
After Width: | Height: | Size: 539 KiB |
BIN
home/modules/firefox/config/search/config/icons/dn.png
Executable file
After Width: | Height: | Size: 10 KiB |
BIN
home/modules/firefox/config/search/config/icons/do.png
Executable file
After Width: | Height: | Size: 14 KiB |
BIN
home/modules/firefox/config/search/config/icons/fy.png
Executable file
After Width: | Height: | Size: 7.2 KiB |
BIN
home/modules/firefox/config/search/config/icons/ha.png
Executable file
After Width: | Height: | Size: 21 KiB |
BIN
home/modules/firefox/config/search/config/icons/ho.png
Executable file
After Width: | Height: | Size: 5.3 KiB |
BIN
home/modules/firefox/config/search/config/icons/ka.png
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
home/modules/firefox/config/search/config/icons/ki.png
Executable file
After Width: | Height: | Size: 31 KiB |
BIN
home/modules/firefox/config/search/config/icons/me.png
Executable file
After Width: | Height: | Size: 266 KiB |
BIN
home/modules/firefox/config/search/config/icons/ne.png
Executable file
After Width: | Height: | Size: 7.6 KiB |
BIN
home/modules/firefox/config/search/config/icons/nx.png
Executable file
After Width: | Height: | Size: 195 KiB |
BIN
home/modules/firefox/config/search/config/icons/pd.png
Executable file
After Width: | Height: | Size: 7.3 KiB |
BIN
home/modules/firefox/config/search/config/icons/ph.png
Executable file
After Width: | Height: | Size: 4.8 KiB |
BIN
home/modules/firefox/config/search/config/icons/pi.png
Executable file
After Width: | Height: | Size: 58 KiB |
BIN
home/modules/firefox/config/search/config/icons/re.png
Executable file
After Width: | Height: | Size: 7 KiB |
BIN
home/modules/firefox/config/search/config/icons/rz.png
Executable file
After Width: | Height: | Size: 16 KiB |
BIN
home/modules/firefox/config/search/config/icons/sb.png
Executable file
After Width: | Height: | Size: 27 KiB |
BIN
home/modules/firefox/config/search/config/icons/sc.png
Executable file
After Width: | Height: | Size: 59 KiB |
BIN
home/modules/firefox/config/search/config/icons/sd.png
Executable file
After Width: | Height: | Size: 22 KiB |
BIN
home/modules/firefox/config/search/config/icons/sk.png
Executable file
After Width: | Height: | Size: 5.1 KiB |
BIN
home/modules/firefox/config/search/config/icons/tl.png
Executable file
After Width: | Height: | Size: 13 KiB |
BIN
home/modules/firefox/config/search/config/icons/tw.png
Executable file
After Width: | Height: | Size: 357 KiB |
BIN
home/modules/firefox/config/search/config/icons/ur.png
Executable file
After Width: | Height: | Size: 18 KiB |
BIN
home/modules/firefox/config/search/config/icons/vs.png
Executable file
After Width: | Height: | Size: 26 KiB |
BIN
home/modules/firefox/config/search/config/icons/wi.png
Executable file
After Width: | Height: | Size: 436 KiB |
BIN
home/modules/firefox/config/search/config/icons/xh.png
Executable file
After Width: | Height: | Size: 51 KiB |
BIN
home/modules/firefox/config/search/config/icons/xv.png
Executable file
After Width: | Height: | Size: 44 KiB |
BIN
home/modules/firefox/config/search/config/icons/yo.png
Executable file
After Width: | Height: | Size: 22 KiB |
32
home/modules/firefox/config/search/config/shopping.nix
Executable file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"Amazon" = {
|
||||
definedAliases = ["@am"];
|
||||
icon = ./icons/am.png;
|
||||
urls = [{template = "https://www.amazon.ca/s?k={searchTerms}&ref=nav_bb_sb";}];
|
||||
};
|
||||
"Door Dash" = {
|
||||
definedAliases = ["@do"];
|
||||
icon = ./icons/do.png;
|
||||
urls = [{template = "https://www.doordash.com/search/store/{searchTerms}";}];
|
||||
};
|
||||
"FYT Supplies" = {
|
||||
definedAliases = ["@fy"];
|
||||
icon = ./icons/fy.png;
|
||||
urls = [{template = "https://fytsupplies.ca/search?type=product%2Carticle%2Cpage%2Ccollection&options[prefix]=last&q={searchTerms}*";}];
|
||||
};
|
||||
"Kijiji" = {
|
||||
definedAliases = ["@ki"];
|
||||
icon = ./icons/ki.png;
|
||||
urls = [{template = "https://www.kijiji.ca/b-winnipeg/{searchTerms}";}];
|
||||
};
|
||||
"Memory Express" = {
|
||||
definedAliases = ["@me"];
|
||||
icon = ./icons/me.png;
|
||||
urls = [{template = "https://www.memoryexpress.com/Search/Products?Search={searchTerms}";}];
|
||||
};
|
||||
"Skip The Dishes" = {
|
||||
definedAliases = ["@sk"];
|
||||
icon = ./icons/sk.png;
|
||||
urls = [{template = "https://www.skipthedishes.com/winnipeg/items?search={searchTerms}";}];
|
||||
};
|
||||
}
|
17
home/modules/firefox/config/search/config/socialMedia.nix
Executable file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"Reddit" = {
|
||||
definedAliases = ["@re"];
|
||||
icon = ./icons/re.png;
|
||||
urls = [{template = "https://www.reddit.com/search/?q={searchTerms}";}];
|
||||
};
|
||||
"YouTube" = {
|
||||
definedAliases = ["@yo"];
|
||||
icon = ./icons/yo.png;
|
||||
urls = [{template = "https://www.youtube.com/results?search_query={searchTerms}";}];
|
||||
};
|
||||
"X" = {
|
||||
definedAliases = ["@tw"];
|
||||
icon = ./icons/tw.png;
|
||||
urls = [{template = "https://x.com/search?q={searchTerms}";}];
|
||||
};
|
||||
}
|
17
home/modules/firefox/config/search/config/spank.nix
Executable file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"Spankbang" = {
|
||||
definedAliases = ["@sb"];
|
||||
icon = ./icons/sb.png;
|
||||
urls = [{template = "https://spankbang.com/s/{searchTerms}/";}];
|
||||
};
|
||||
"XHampster" = {
|
||||
definedAliases = ["@xh"];
|
||||
icon = ./icons/xh.png;
|
||||
urls = [{template = "https://xhamster.com/search/{searchTerms}";}];
|
||||
};
|
||||
"XVideos" = {
|
||||
definedAliases = ["@xv"];
|
||||
icon = ./icons/xv.png;
|
||||
urls = [{template = "https://www.xvideos.com/?k={searchTerms}";}];
|
||||
};
|
||||
}
|
22
home/modules/firefox/config/search/config/tools.nix
Executable file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"AlternativeTo" = {
|
||||
definedAliases = ["@al"];
|
||||
icon = ./icons/al.png;
|
||||
urls = [{template = "https://alternativeto.net/browse/search/?q={searchTerms}";}];
|
||||
};
|
||||
"Rhyme Zone" = {
|
||||
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";}];
|
||||
};
|
||||
"Urban Dictionary" = {
|
||||
definedAliases = ["@ur"];
|
||||
icon = ./icons/ur.png;
|
||||
urls = [{template = "https://www.urbandictionary.com/define.php?term={searchTerms}";}];
|
||||
};
|
||||
"Stanford Encyclopedia of Philosophy" = {
|
||||
definedAliases = ["@ph"];
|
||||
icon = ./icons/ph.png;
|
||||
urls = [{template = "https://plato.stanford.edu/search/searcher.py?query={searchTerms}";}];
|
||||
};
|
||||
}
|
27
home/modules/firefox/config/search/config/tracking.nix
Executable file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"1337x" = {
|
||||
definedAliases = ["@13"];
|
||||
icon = ./icons/13.png;
|
||||
urls = [{template = "https://1337x.to/search/{searchTerms}/1/";}];
|
||||
};
|
||||
"Core Radio" = {
|
||||
definedAliases = ["@cr"];
|
||||
icon = ./icons/cr.png;
|
||||
urls = [{template = "https://coreradio.online/?do=search&subaction=search&story={searchTerms}";}];
|
||||
};
|
||||
"The Pirate Bay" = {
|
||||
definedAliases = ["@pi"];
|
||||
icon = ./icons/pi.png;
|
||||
urls = [{template = "https://thepiratebay.org/search.php?q={searchTerms}&all=on&search=Pirate+Search&page=0&orderby=";}];
|
||||
};
|
||||
"Torrent Leech" = {
|
||||
definedAliases = ["@tl"];
|
||||
icon = ./icons/tl.png;
|
||||
urls = [{template = "https://www.torrentleech.org/torrents/browse/index/query/{searchTerms}";}];
|
||||
};
|
||||
"VSTorrent" = {
|
||||
definedAliases = ["@vs"];
|
||||
icon = ./icons/vs.png;
|
||||
urls = [{template = "https://vstorrent.org/?s={searchTerms}";}];
|
||||
};
|
||||
}
|
12
home/modules/firefox/config/search/config/web.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"Brave" = {
|
||||
definedAliases = ["@br"];
|
||||
icon = ./icons/br.png;
|
||||
urls = [{template = "https://search.brave.com/search?q={searchTerms}&source=web";}];
|
||||
};
|
||||
"Kagi" = {
|
||||
definedAliases = ["@ka"];
|
||||
icon = ./icons/ka.png;
|
||||
urls = [{template = "https://kagi.com/search?q={searchTerms}";}];
|
||||
};
|
||||
}
|
46
home/modules/firefox/config/search/default.nix
Executable file
|
@ -0,0 +1,46 @@
|
|||
{flake, ...}: let
|
||||
configPath = ./config;
|
||||
flakedPath = configPath + "/flake";
|
||||
|
||||
regularSearchEngines = let
|
||||
files = builtins.attrNames (builtins.readDir configPath);
|
||||
in
|
||||
builtins.foldl' (
|
||||
emptySet: searchEngine:
|
||||
emptySet // (import (configPath + "/${searchEngine}"))
|
||||
) {} (builtins.filter (name: builtins.match ".*\\.nix$" name != null) files);
|
||||
|
||||
flakedSearchEngines = let
|
||||
files = builtins.attrNames (builtins.readDir flakedPath);
|
||||
in
|
||||
builtins.foldl' (
|
||||
emptySet: searchEngine:
|
||||
emptySet // (import (flakedPath + "/${searchEngine}") {inherit flake;})
|
||||
) {} (builtins.filter (name: builtins.match ".*\\.nix$" name != null) files);
|
||||
|
||||
aggregatedSearchEngines = regularSearchEngines // flakedSearchEngines;
|
||||
in {
|
||||
search = {
|
||||
force = true;
|
||||
default = "Kagi";
|
||||
engines = aggregatedSearchEngines;
|
||||
order = [
|
||||
"AlternativeTo"
|
||||
"Core Radio"
|
||||
"Hackage"
|
||||
"Hoogle"
|
||||
"Jellyfin"
|
||||
"Kagi"
|
||||
"Nix Home Manager"
|
||||
"Nix Options"
|
||||
"Nix Packages"
|
||||
"Nix Wiki"
|
||||
"PeerTube"
|
||||
"Sci-Hub"
|
||||
"Torrent Leech"
|
||||
"Urban Dictionary"
|
||||
"Wikipedia"
|
||||
"YouTube"
|
||||
];
|
||||
};
|
||||
}
|
19
home/modules/firefox/config/settings/config/cosmetics.nix
Executable file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"ui.systemUsesDarkTheme" = 1;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.bookmarks.addedImportButton" = false;
|
||||
"browser.toolbars.bookmarks.visibility" = "never";
|
||||
"browser.urlbar.suggest.history" = false;
|
||||
"browser.urlbar.suggest.bookmark" = true;
|
||||
"browser.urlbar.suggest.openpage" = false;
|
||||
"browser.urlbar.suggest.shortcut" = false;
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.suggest.recentsearches" = false;
|
||||
"dom.forms.autocomplete.formautofill" = true;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"general.autoScroll" = true;
|
||||
"media.eme.enabled" = true;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"browser.compactmode.show" = true;
|
||||
}
|
9
home/modules/firefox/config/settings/config/diskAvoidance.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
# DISK AVOIDANCE
|
||||
"browser.cache.disk.enable" = false;
|
||||
"browser.privatebrowsing.forceMediaMemoryCache" = true;
|
||||
"media.memory_cache_max_size" = 65536;
|
||||
"browser.sessionstore.privacy_level" = 2;
|
||||
"toolkit.winRegisterApplicationRestart" = false;
|
||||
"browser.shell.shortcutFavicons" = false;
|
||||
}
|
18
home/modules/firefox/config/settings/config/fingerprinting.nix
Executable file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
# FPP (fingerprintingProtection)
|
||||
"privacy.fingerprintingProtection.pbmode" = true;
|
||||
"privacy.fingerprintingProtection" = true;
|
||||
|
||||
# RFP (resistFingerprinting)
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"privacy.window.maxInnerWidth" = 1600;
|
||||
"privacy.window.maxInnerHeight" = 900;
|
||||
"privacy.resistFingerprinting.block_mozAddonManager" = true;
|
||||
"privacy.resistFingerprinting.letterboxing" = false;
|
||||
"privacy.spoof_english" = 1;
|
||||
"browser.display.use_system_colors" = false;
|
||||
"widget.non-native-theme.enabled" = true;
|
||||
"browser.link.open_newwindow" = 3;
|
||||
"browser.link.open_newwindow.restriction" = 0;
|
||||
"webgl.disabled" = true;
|
||||
}
|
14
home/modules/firefox/config/settings/config/formFill.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
# LOCATION BAR / SEARCH BAR / SUGGESTIONS / HISTORY / FORMS
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.search.separatePrivateDefault.ui.enabled" = true;
|
||||
"browser.search.separatePrivateDefault" = true;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.urlbar.maxRichResults" = 16;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.addresses.supported" = "on";
|
||||
"extensions.formautofill.addresses.usage.hasEntry" = true;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.formautofill.heuristics.enabled" = false;
|
||||
}
|
7
home/modules/firefox/config/settings/config/geolocation.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
|
||||
"geo.provider.ms-windows-location" = false;
|
||||
"geo.provider.use_corelocation" = false;
|
||||
"geo.provider.use_gpsd" = false;
|
||||
"geo.provider.use_geoclue" = false;
|
||||
}
|
16
home/modules/firefox/config/settings/config/hardening.nix
Executable file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
# OPTIONAL HARDENING
|
||||
# These settings are commented out in the original template; uncomment if needed
|
||||
# "mathml.disabled" = true;
|
||||
# "svg.disabled" = true;
|
||||
# "gfx.font_rendering.graphite.enabled" = false;
|
||||
# "javascript.options.asmjs" = false;
|
||||
# "javascript.options.ion" = false;
|
||||
# "javascript.options.baselinejit" = false;
|
||||
# "javascript.options.jit_trustedprincipals" = true;
|
||||
# "javascript.options.wasm" = false;
|
||||
# "gfx.font_rendering.opentype_svg.enabled" = false;
|
||||
# "media.eme.enabled" = false;
|
||||
# "browser.eme.ui.enabled" = false;
|
||||
# "network.dns.disableIPv6" = true;
|
||||
}
|
14
home/modules/firefox/config/settings/config/https.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
# HTTPS (SSL/TLS / OCSP / CERTS / HPKP)
|
||||
"security.ssl.require_safe_negotiation" = true;
|
||||
"security.tls.enable_0rtt_data" = false;
|
||||
"security.OCSP.enabled" = 1;
|
||||
"security.OCSP.require" = true;
|
||||
"security.cert_pinning.enforcement_level" = 2;
|
||||
"security.remote_settings.crlite_filters.enabled" = true;
|
||||
"security.pki.crlite_mode" = 2;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"dom.security.https_only_mode_send_http_background_request" = false;
|
||||
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
|
||||
"browser.xul.error_pages.expert_bad_cert" = true;
|
||||
}
|
26
home/modules/firefox/config/settings/config/misc.nix
Executable file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
# CONTAINERS
|
||||
"privacy.userContext.enabled" = true;
|
||||
"privacy.userContext.ui.enabled" = true;
|
||||
# DOM (DOCUMENT OBJECT MODEL)
|
||||
"dom.disable_window_move_resize" = true;
|
||||
# MISCELLANEOUS
|
||||
"browser.safebrowsing.downloads.remote.enabled" = false;
|
||||
"browser.download.start_downloads_in_tmp_dir" = true;
|
||||
"browser.helperApps.deleteTempFileOnExit" = true;
|
||||
"browser.uitour.enabled" = false;
|
||||
"devtools.debugger.remote-enabled" = false;
|
||||
"network.IDN_show_punycode" = true;
|
||||
"pdfjs.disabled" = false;
|
||||
"pdfjs.enableScripting" = false;
|
||||
# PLUGINS / MEDIA / WEBRTC
|
||||
"media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
|
||||
"media.peerconnection.ice.default_address_only" = true;
|
||||
# REFERERS
|
||||
"network.http.referer.XOriginTrimmingPolicy" = 2;
|
||||
# NON-PROJECT RELATED
|
||||
# "browser.startup.homepage_override.mstone" = "ignore";
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||
"browser.urlbar.showSearchTerms.enabled" = false;
|
||||
}
|
11
home/modules/firefox/config/settings/config/noTouching.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
# DON'T TOUCH
|
||||
"extensions.blocklist.enabled" = true;
|
||||
"network.http.referer.spoofSource" = false;
|
||||
"security.dialog_enable_delay" = 1000;
|
||||
"privacy.firstparty.isolate" = false;
|
||||
"extensions.webcompat.enable_shims" = true;
|
||||
"security.tls.version.enable-deprecated" = false;
|
||||
"extensions.webcompat-reporter.enabled" = false;
|
||||
"extensions.quarantinedDomains.enabled" = true;
|
||||
}
|
11
home/modules/firefox/config/settings/config/opSec.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
# ETP (ENHANCED TRACKING PROTECTION)
|
||||
"browser.contentblocking.category" = "strict";
|
||||
# OPTIONAL OPSEC
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"browser.download.alwaysOpenPanel" = false;
|
||||
"browser.download.manager.addToRecentDocs" = false;
|
||||
"browser.download.always_ask_before_handling_new_types" = true;
|
||||
"extensions.enabledScopes" = 5;
|
||||
"extensions.postDownloadThirdPartyPrompt" = false;
|
||||
}
|
9
home/modules/firefox/config/settings/config/outbound.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
# BLOCK IMPLICIT OUTBOUND
|
||||
"network.prefetch-next" = false;
|
||||
"network.dns.disablePrefetch" = true;
|
||||
"network.predictor.enabled" = false;
|
||||
"network.predictor.enable-prefetch" = false;
|
||||
"network.http.speculative-parallel-limit" = 0;
|
||||
"browser.places.speculativeConnect.enabled" = false;
|
||||
}
|
7
home/modules/firefox/config/settings/config/passwords.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
# PASSWORDS
|
||||
"network.auth.subresource-http-auth-allow" = 1;
|
||||
"signon.autofillForms" = false;
|
||||
"signon.formlessCapture.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
}
|
21
home/modules/firefox/config/settings/config/privacy.nix
Executable file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
# SHUTDOWN & SANITIZING
|
||||
"privacy.sanitize.sanitizeOnShutdown" = false;
|
||||
"privacy.clearOnShutdown.cache" = true;
|
||||
"privacy.clearOnShutdown.downloads" = true;
|
||||
"privacy.clearOnShutdown.formdata" = true;
|
||||
"privacy.clearOnShutdown.history" = true;
|
||||
"privacy.clearOnShutdown.cookies" = true;
|
||||
"privacy.clearOnShutdown.offlineApps" = true;
|
||||
"privacy.clearOnShutdown.sessions" = false;
|
||||
"privacy.clearSiteData.cache" = true;
|
||||
"privacy.clearSiteData.historyFormDataAndDownloads" = true;
|
||||
"privacy.clearHistory.cache" = true;
|
||||
"privacy.clearHistory.cookiesAndStorage" = false;
|
||||
"privacy.clearHistory.historyFormDataAndDownloads" = true;
|
||||
"privacy.cpd.sessions" = true;
|
||||
# SHUTDOWN & SANITIZING (continued)
|
||||
"privacy.clearOnShutdown_v2.cache" = true;
|
||||
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true;
|
||||
"privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
|
||||
}
|
6
home/modules/firefox/config/settings/config/proxy.nix
Executable file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
# DNS / DoH / PROXY / SOCKS
|
||||
"network.proxy.socks_remote_dns" = true;
|
||||
"network.file.disable_unc_paths" = true;
|
||||
"network.gio.supported-protocols" = "";
|
||||
}
|
20
home/modules/firefox/config/settings/config/startup.nix
Executable file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"browser.newtab.url" = "about:home";
|
||||
"browser.newtabpage.activity-stream.default.sites" = "";
|
||||
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.showRecentSaves" = false;
|
||||
"browser.newtabpage.activity-stream.showSearch" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.showWeather" = false;
|
||||
"browser.newtabpage.enabled" = true;
|
||||
"browser.startup.homepage" = "about:home";
|
||||
"browser.startup.page" = 1;
|
||||
"browser.tabs.closeWindowWithLastTab" = false;
|
||||
"browser.tabs.firefox-view-newIcon" = false;
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.inTitlebar" = 1;
|
||||
"browser.tabs.loadBookmarksInBackground" = true;
|
||||
"browser.tabs.tabmanager.enabled" = false;
|
||||
}
|
29
home/modules/firefox/config/settings/config/telemetry.nix
Executable file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"extensions.getAddons.showPane" = false;
|
||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.shopping.experience2023.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
"breakpad.reportURL" = "";
|
||||
"browser.tabs.crashReporting.sendReport" = false;
|
||||
"network.captive-portal-service.enabled" = false;
|
||||
"network.connectivity-service.enabled" = false;
|
||||
}
|
14
home/modules/firefox/config/settings/default.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
let
|
||||
configPath = ./config;
|
||||
|
||||
aggregatedSettings = let
|
||||
files = builtins.attrNames (builtins.readDir configPath);
|
||||
in
|
||||
builtins.foldl' (
|
||||
emptySet: settingsFile:
|
||||
emptySet // (import (configPath + "/${settingsFile}"))
|
||||
) {}
|
||||
(builtins.filter (name: builtins.match ".*\\.nix$" name != null) files);
|
||||
in {
|
||||
settings = aggregatedSettings;
|
||||
}
|
98
home/modules/firefox/config/themes/config/userChrome.css
Executable file
|
@ -0,0 +1,98 @@
|
|||
/* Title bar */
|
||||
.titlebar-spacer {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Tab bar */
|
||||
#navigator-toolbox {
|
||||
border: 0px !important;
|
||||
}
|
||||
#TabsToolbar {
|
||||
margin-left: 3px !important;
|
||||
}
|
||||
#TabsToolbar > .tabbrowser-arrowscrollbox {
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
/* Nav bar */
|
||||
/* #nav-bar {
|
||||
height: 0px;
|
||||
min-height: 0px !important;
|
||||
overflow: hidden;
|
||||
transition: height 0.0s ease-in-out;
|
||||
} */
|
||||
|
||||
/* Only show nav-bar when specifically focused, not when clicking tab bar */
|
||||
/* #nav-bar:focus-within {
|
||||
overflow: visible;
|
||||
height: auto;
|
||||
} */
|
||||
|
||||
/* Remove placeholder text in the URL bar */
|
||||
#urlbar-input::placeholder {
|
||||
color: transparent !important;
|
||||
}
|
||||
#urlbar {
|
||||
padding: 2px !important;
|
||||
}
|
||||
|
||||
/* Hide URL bar text */
|
||||
#urlbar-background {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
#urlbar-border:focus-within {
|
||||
overflow: visible;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Hide search engine icon */
|
||||
#urlbar .search-one-offs:not([hidden]) {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide tracking protection icon */
|
||||
#tracking-protection-icon-container {
|
||||
display: none !important;
|
||||
}
|
||||
#urlbar-container {
|
||||
width: auto !important;
|
||||
}
|
||||
#urlbar {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
#page-action-buttons {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide site information button */
|
||||
#identity-box {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide shield icon */
|
||||
#tracking-protection-icon-container {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide forward and back buttons when not active */
|
||||
#back-button[disabled="true"] {
|
||||
display: none !important;
|
||||
}
|
||||
#forward-button[disabled="true"] {
|
||||
display: none !important;
|
||||
}
|
||||
.personalize-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tab-close-button {
|
||||
visibility: hidden !important;
|
||||
margin-inline-end: 0 !important;
|
||||
width: 16px !important;
|
||||
height: 16px !important;
|
||||
padding: 2px !important;
|
||||
}
|
||||
.tabbrowser-tab:hover .tab-close-button {
|
||||
visibility: visible !important;
|
||||
}
|
3
home/modules/firefox/config/themes/default.nix
Executable file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
userChrome = builtins.readFile ./config/userChrome.css;
|
||||
}
|
26
home/modules/firefox/default.nix
Executable file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
pkgs,
|
||||
flake,
|
||||
nur,
|
||||
...
|
||||
}: let
|
||||
inherit (flake.config.people) user0;
|
||||
in {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox;
|
||||
profiles = {
|
||||
${user0} = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
isDefault = true;
|
||||
}
|
||||
// (import (configPath + /bookmarks) {inherit flake;})
|
||||
// (import (configPath + /extensions) {inherit nur;})
|
||||
// (import (configPath + /search) {inherit flake;})
|
||||
// (import (configPath + /settings))
|
||||
// (import (configPath + /themes));
|
||||
};
|
||||
};
|
||||
}
|
11
home/modules/flameshot.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
services.flameshot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
General = {
|
||||
disabledTrayIcon = false;
|
||||
showStartupLaunchMessage = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
46
home/modules/freetube/config/settings.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
settings = {
|
||||
allSettingsSectionsExpandedByDefault = false;
|
||||
barColor = false;
|
||||
baseTheme = "catppuccinMocha";
|
||||
bounds = {
|
||||
x = 880;
|
||||
y = 221;
|
||||
width = 1200;
|
||||
height = 800;
|
||||
maximized = false;
|
||||
fullScreen = false;
|
||||
};
|
||||
defaultQuality = "1080";
|
||||
downloadAskPath = false;
|
||||
downloadBehavior = "download";
|
||||
downloadFolderPath = "/home/nick/Downloads/FreeTube";
|
||||
expandSideBar = true;
|
||||
externalPlayer = "mpv";
|
||||
hideActiveSubscriptions = false;
|
||||
hideCommentLikes = true;
|
||||
hideCommentPhotos = true;
|
||||
hideHeaderLogo = true;
|
||||
hideLabelsSideBar = true;
|
||||
hidePlaylists = true;
|
||||
hidePopularVideos = true;
|
||||
hideRecommendedVideos = true;
|
||||
hideSubscriptionsShorts = false;
|
||||
hideSubscriptionsVideos = false;
|
||||
hideTrendingVideos = true;
|
||||
hideVideoLikesAndDislikes = true;
|
||||
mainColor = "CatppuccinMochaMauve";
|
||||
maxVideoPlaybackRate = 10;
|
||||
playNextVideo = false;
|
||||
quickBookmarkTargetPlaylistId = "favorites";
|
||||
rememberHistory = false;
|
||||
saveWatchedProgress = false;
|
||||
secColor = "CatppuccinMochaLavender";
|
||||
useDeArrowThumbnails = true;
|
||||
useDeArrowTitles = true;
|
||||
useSponsorBlock = true;
|
||||
defaultTheatreMode = true;
|
||||
listType = "grid";
|
||||
currentLocale = "en_GB";
|
||||
};
|
||||
}
|
9
home/modules/freetube/default.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.freetube = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// (import (configPath + /settings.nix));
|
||||
}
|
14
home/modules/git.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
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;
|
||||
};
|
||||
}
|
31
home/modules/helix/config/languages.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "alejandra";
|
||||
name = "nix";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "haskell";
|
||||
name = "haskell";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "cssfmt";
|
||||
name = "css";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yuck";
|
||||
name = "yuck";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yamlfmt";
|
||||
name = "yaml";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
24
home/modules/helix/config/settings.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
settings = {
|
||||
editor = {
|
||||
mouse = true;
|
||||
auto-format = true;
|
||||
auto-save = true;
|
||||
line-number = "relative";
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
};
|
||||
keys = {
|
||||
normal = {
|
||||
space = {
|
||||
f = ":format";
|
||||
q = ":q";
|
||||
w = ":w";
|
||||
};
|
||||
};
|
||||
};
|
||||
theme = "catppuccin_macchiato";
|
||||
};
|
||||
}
|
11
home/modules/helix/default.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{pkgs, ...}: {
|
||||
programs.helix = let
|
||||
configPath = ./config;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
}
|
||||
// (import (configPath + /languages.nix))
|
||||
// (import (configPath + /settings.nix));
|
||||
}
|
1
home/modules/home-manager.nix
Executable file
|
@ -0,0 +1 @@
|
|||
{programs.home-manager.enable = true;}
|
7
home/modules/lazygit.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
}
|
13
home/modules/misc/android.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
android-file-transfer
|
||||
android-tools
|
||||
deskreen
|
||||
scrcpy
|
||||
;
|
||||
};
|
||||
}
|
||||
# requires that users be part of the adbusers group
|
||||
|
32
home/modules/misc/commandLine.nix
Executable file
|
@ -0,0 +1,32 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
cifs-utils
|
||||
ffmpeg
|
||||
flac
|
||||
hardinfo
|
||||
inetutils
|
||||
libgen-cli
|
||||
libnatpmp
|
||||
ncdu
|
||||
networkmanager-openvpn
|
||||
nyancat
|
||||
openssl
|
||||
pciutils
|
||||
pinentry
|
||||
samba
|
||||
simple-mtpfs
|
||||
sshfs
|
||||
tokei
|
||||
tomb
|
||||
unrar
|
||||
unzip
|
||||
wget
|
||||
wine
|
||||
xdg-utils
|
||||
xdotool
|
||||
zip
|
||||
;
|
||||
};
|
||||
}
|
21
home/modules/misc/desktop.nix
Executable file
|
@ -0,0 +1,21 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs.kdePackages)
|
||||
# KDE Packages
|
||||
|
||||
kolourpaint
|
||||
okular
|
||||
partitionmanager
|
||||
;
|
||||
inherit
|
||||
(pkgs)
|
||||
bulky
|
||||
gnome-calculator
|
||||
gnome-disk-utility
|
||||
gnome-software
|
||||
gparted
|
||||
usbimager
|
||||
;
|
||||
};
|
||||
}
|
11
home/modules/misc/entertainment.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
feishin
|
||||
prismlauncher
|
||||
spotify
|
||||
vlc
|
||||
;
|
||||
};
|
||||
}
|
21
home/modules/misc/internet.nix
Executable file
|
@ -0,0 +1,21 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
# Messaging
|
||||
|
||||
discord
|
||||
element-desktop
|
||||
signal-desktop
|
||||
vesktop
|
||||
# Privacy
|
||||
|
||||
bitwarden
|
||||
ledger-live-desktop
|
||||
openvpn
|
||||
protonvpn-gui
|
||||
qbittorrent
|
||||
tor-browser
|
||||
;
|
||||
};
|
||||
}
|