1
0
Fork 0
forked from Bun/nixos-config

Move more things to xdg paths

This commit is contained in:
Bun 2025-05-14 14:57:32 -04:00
parent 04560dfbc5
commit c41543edcf
23 changed files with 491 additions and 566 deletions

View file

@ -4,37 +4,24 @@
programs.firefox = {
enable = true;
package = pkgs.librewolf;
profiles = let
# FireFox css, based on https://github.com/Dook97/firefox-qutebrowser-userchrome
themeFont = ''
--tab-font: '${config.look.fonts.main}';
--urlbar-font: '${config.look.fonts.main}';
'';
themeMain = ''
:root {
--tab-active-bg-color: #${config.look.colors.prime};
--tab-hover-bg-color: #${config.look.colors.accent};
--tab-inactive-bg-color: #${config.look.colors.dark};
--tab-active-fg-fallback-color: #FFFFFF;
--tab-inactive-fg-fallback-color: #${config.look.colors.text};
--urlbar-focused-bg-color: #${config.look.colors.dark};
--urlbar-not-focused-bg-color: #${config.look.colors.dark};
--toolbar-bgcolor: #${config.look.colors.dark} !important;
'';
themeAlt = ''
:root {
--tab-active-bg-color: #${config.look.colors.dark};
--tab-hover-bg-color: #${config.look.colors.accent};
--tab-inactive-bg-color: #${config.look.colors.prime};
--tab-active-fg-fallback-color: #${config.look.colors.text};
--tab-inactive-fg-fallback-color: #FFFFFF;
--urlbar-focused-bg-color: #${config.look.colors.prime};
--urlbar-not-focused-bg-color: #${config.look.colors.prime};
--toolbar-bgcolor: #${config.look.colors.prime} !important;
'';
profiles.default = {
isDefault = true;
containersForce = true;
# Profile settings
commonExtensions = with pkgs.nur.repos.rycee.firefox-addons; [
containers = {
home = {
color = "purple";
icon = "fruit";
id = 0;
};
school = {
color = "red";
icon = "briefcase";
id = 1;
};
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
bitwarden
darkreader
return-youtube-dislikes
@ -43,7 +30,8 @@
ublock-origin
violentmonkey
];
commonSearch = {
search = {
force = true;
default = "Ecosia";
order = [
@ -64,6 +52,7 @@
}];
definedAliases = [ "@e" ];
};
"NixPKGs" = {
urls = [{
template = "https://search.nixos.org/packages";
@ -80,6 +69,7 @@
}];
definedAliases = [ "@p" ];
};
"MyNixOS" = {
urls = [{
template = "https://mynixos.com/search";
@ -90,6 +80,7 @@
}];
definedAliases = [ "@my" ];
};
"YouTube" = {
urls = [{
template = "https://www.youtube.com/results";
@ -100,13 +91,17 @@
}];
definedAliases = [ "@y" ];
};
"Spotify" = {
urls = [{ template = "https://open.spotify.com/search/{searchTerms}"; }];
definedAliases = [ "@s" ];
};
};
};
commonSettings = {
settings = {
force = true;
# Generic
"browser.download.useDownloadDir" = true;
"browser.shell.checkDefaultBrowser" = false;
@ -121,9 +116,9 @@
"webgl.disabled" = false;
# Fonts
"font.name.serif.x-western" = config.look.fonts.main;
"font.name.sans-serif.x-western" = config.look.fonts.main;
"font.name.monospace.x-western" = config.look.fonts.mono;
"font.name.sans-serif.x-western" = config.look.fonts.main;
"font.name.serif.x-western" = config.look.fonts.main;
# Theming and visibility
"browser.aboutConfig.showWarning" = false;
@ -143,47 +138,46 @@
"browser.newtabpage.enabled" = false;
# Safe browsing
"browser.safebrowsing.blockedURIs.enabled" = false;
"browser.safebrowsing.downloads.enabled" = false;
"browser.safebrowsing.downloads.remote.enabled" = false;
"browser.safebrowsing.downloads.remote.block_uncommon" = false;
"browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
"browser.safebrowsing.downloads.remote.block_uncommon" = false;
"browser.safebrowsing.downloads.remote.enabled" = false;
"browser.safebrowsing.malware.enabled" = false;
"browser.safebrowsing.phishing.enabled" = false;
"browser.safebrowsing.blockedURIs.enabled" = false;
"browser.safebrowsing.provider.google4.gethashURL" = false;
"browser.safebrowsing.provider.google4.updateURL" = false;
"browser.safebrowsing.provider.google.gethashURL" = false;
"browser.safebrowsing.provider.google.updateURL" = false;
"browser.safebrowsing.provider.google4.gethashURL" = false;
"browser.safebrowsing.provider.google4.updateURL" = false;
# Extensions
"extensions.pocket.enabled" = false;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.discover.enabled" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"extensions.pocket.enabled" = false;
# Force extensions to work
"extensions.autoDisableScopes" = 0;
"extensions.enabledScopes" = 15;
# Privacy
"privacy.resistFingerprinting" = true;
"privacy.firstparty.isolate" = true;
"privacy.fingerprintingProtection" = true;
"privacy.globalprivacycontrol.enabled" = true;
"privacy.globalprivacycontrol.functionality.enabled" = true;
"privacy.clearOnShutdown.cookies" = false;
"privacy.clearOnShutdown_v2.cookiesAndStorage" = false;
"privacy.fingerprintingProtection" = true;
"privacy.firstparty.isolate" = true;
"privacy.globalprivacycontrol.enabled" = true;
"privacy.globalprivacycontrol.functionality.enabled" = true;
"privacy.resistFingerprinting" = true;
# Tracking URL blocking
"urlclassifier.trackingSkipURLs" = "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com";
"urlclassifier.features.socialtracking.skipURLs" = "*.instagram.com, *.twitter.com, *.twimg.com";
"urlclassifier.trackingSkipURLs" = "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com";
# Network tracking
"browser.contentblocking.category" = "strict";
"network.cookie.cookieBehavior" = 1;
"network.cookie.sameSite.noneRequiresSecure" = true;
"network.http.referer.XOriginPolicy" = 2;
"network.http.referer.XOriginTrimmingPolicy" = 2;
"network.http.referer.trimmingPolicy" = 2;
@ -209,40 +203,28 @@
"services.sync.engine.addresses.available" = false;
"svg.context-properties.content.enabled" = true;
};
in {
Main = {
id = 0;
isDefault = true;
extensions = commonExtensions;
search = commonSearch;
settings = commonSettings;
userChrome = ''
${themeMain}
${themeFont}
userChrome = ''
:root {
--tab-active-bg-color: #${config.look.colors.prime};
--tab-hover-bg-color: #${config.look.colors.accent};
--tab-inactive-bg-color: #${config.look.colors.dark};
--tab-active-fg-fallback-color: #FFFFFF;
--tab-inactive-fg-fallback-color: #${config.look.colors.text};
--urlbar-focused-bg-color: #${config.look.colors.dark};
--urlbar-not-focused-bg-color: #${config.look.colors.dark};
--toolbar-bgcolor: #${config.look.colors.dark} !important;
--tab-font: '${config.look.fonts.main}';
--urlbar-font: '${config.look.fonts.main}';
${builtins.readFile ./quteFox.css}
'';
};
Alt = {
id = 1;
extensions = commonExtensions;
search = commonSearch;
settings = commonSettings;
userChrome = ''
${themeAlt}
${themeFont}
${builtins.readFile ./quteFox.css}
'';
};
'';
};
};
# Symlinks to Librewolf
home = {
file = {
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
".mozilla/librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
};
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "browser/.mozilla" ];
file.".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/firefox";
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "browser/.mozilla/firefox/default" ];
};
};
}

View file

@ -8,10 +8,10 @@
steam
steam-run-free
];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"games/.config/heroic"
"games/.local/share/PrismLauncher"
"games/.local/share/Steam"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = with lib; with config.home; with config.xdg; [
"games/${removePrefix "${homeDirectory}/" configHome}/heroic"
"games/${removePrefix "${homeDirectory}/" dataHome}/PrismLauncher"
"games/${removePrefix "${homeDirectory}/" dataHome}/Steam"
];
};

View file

@ -6,9 +6,9 @@
qbittorrent
vesktop
];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"data/.config/qBittorrent"
"data/.config/vesktop"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = with lib; with config.home; with config.xdg; [
"data/${removePrefix "${homeDirectory}/" configHome}/qBittorrent"
"data/${removePrefix "${homeDirectory}/" configHome}/vesktop"
];
};
}

View file

@ -8,10 +8,10 @@
blender_4_4
krita
];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"data/.config/audacity"
"data/.config/blender"
"data/.local/share/krita"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = with lib; with config.home; with config.xdg; [
"data/${removePrefix "${homeDirectory}/" configHome}/audacity"
"data/${removePrefix "${homeDirectory}/" configHome}/blender"
"data/${removePrefix "${homeDirectory}/" dataHome}/krita"
];
};
}

View file

@ -11,13 +11,12 @@
shellAliases.seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [
"school/.cache/gpclient"
"school/.config/com.yuezk.qt"
"school/.config/remmina"
"school/.config/teams-for-linux"
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = with lib; with config.home; with config.xdg; [
"school/${removePrefix "${homeDirectory}/" cacheHome}/gpclient"
"school/${removePrefix "${homeDirectory}/" configHome}/com.yuezk.qt"
"school/${removePrefix "${homeDirectory}/" configHome}/remmina"
"school/${removePrefix "${homeDirectory}/" configHome}/teams-for-linux"
"school/.vmware"
"school/vmware"
];
};
}

View file

@ -1,97 +0,0 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "xenia",
"color": {
"1": "1;97",
"2": "red",
"3": "yellow"
}
},
"display": {
"separator": " \u001b[33m ",
"color": "red"
},
"modules": [
{
"type": "custom",
"format": "\u001b[1m—————————————————————————————————————"
},
{
"type": "host",
"key": "󰌢 "
},
{
"type": "cpu",
"key": " "
},
{
"type": "gpu",
"key": "󰢮 "
},
{
"type": "disk",
"folders": "/",
"key": " "
},
{
"type": "memory",
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
"key": " "
},
{
"type": "display",
"compactType": "original",
"key": "󰍹 "
},
{
"type": "custom",
"format": "\u001b[1m—————————————————————————————————————"
},
{
"type": "os",
"format": "{3} {12}",
"key": "󰍛 "
},
{
"type": "kernel",
"format": "{1} {2}",
"key": " "
},
{
"type": "wm",
"key": " "
},
{
"type": "shell",
"key": " "
},
{
"type": "terminal",
"key": " "
},
{
"type": "packages",
"key": "󰆧 "
},
{
"type": "uptime",
"key": "󰅐 "
},
{
"type": "command",
"text": "date -d @$(stat -c %W /persist) '+%a %b %d %r %Y'",
"key": "󰶡 "
},
{
"type": "custom",
"format": "\u001b[1m—————————————————————————————————————"
},
{
"type": "custom",
"format": "\u001b[90m󰮯 \u001b[31m󰊠 \u001b[32m󰊠 \u001b[33m󰊠 \u001b[34m󰊠 \u001b[35m󰊠 \u001b[36m󰊠 \u001b[37m󰊠"
}
]
}

View file

@ -1,11 +1,108 @@
{ pkgs, ... }:
{ ... }:
{
programs.fastfetch.enable = true;
imports = [ ./smallfetch ];
home = {
shellAliases.ff = "clear && fastfetch";
packages = with pkgs; [ (writeScriptBin "smallfetch" "fastfetch --config ~/.config/fastfetch/small.jsonc") ];
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "xenia";
color = {
"1" = "1;97";
"2" = "red";
"3" = "yellow";
};
};
display = {
separator = '' \u001b[33m '';
color = "red";
};
modules = [
{
type = "custom";
format = ''\u001b[1m'';
}
{
type = "host";
key = "󰌢 ";
}
{
type = "cpu";
key = " ";
}
{
type = "gpu";
key = "󰢮 ";
}
{
type = "disk";
folders = "/";
key = " ";
}
{
type = "memory";
format = "{/1};-}{/}{/2}{-}{/}{} / {}";
key = " ";
}
{
type = "display";
compactType = "original";
key = "󰍹 ";
}
{
type = "custom";
format = ''\u001b[1m'';
}
{
type = "os";
format = "{3} {12}";
key = "󰍛 ";
}
{
type = "kernel";
format = "{1} {2}";
key = " ";
}
{
type = "wm";
key = " ";
}
{
type = "shell";
key = " ";
}
{
type = "terminal";
key = " ";
}
{
type = "packages";
key = "󰆧 ";
}
{
type = "uptime";
key = "󰅐 ";
}
{
type = "command";
text = "date -d @$(stat -c %W /persist) '+%a %b %d %r %Y'";
key = "󰶡 ";
}
{
type = "custom";
format = ''\u001b[1m'';
}
{
type = "custom";
format = ''\u001b[90m󰮯 \u001b[31m󰊠 \u001b[32m󰊠 \u001b[33m󰊠 \u001b[34m󰊠 \u001b[35m󰊠 \u001b[36m󰊠 \u001b[37m󰊠'';
}
];
};
};
xdg.configFile."fastfetch".source = ./configs;
home.shellAliases.ff = "clear && fastfetch";
}

View file

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
(writeScriptBin "smallfetch" ''
#!/bin/sh
fastfetch --config ${builtins.toString ./config.jsonc}
'')
];
}

View file

@ -2,5 +2,5 @@
{
programs.nix-index.enable = true;
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "nix/.cache/nix-index" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.cache/nix-index" ];
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
{
programs.zsh = {
enable = true;
@ -16,6 +16,7 @@
};
history = {
append = true;
expireDuplicatesFirst = true;
ignoreAllDups = true;
ignoreSpace = true;
path = "$ZDOTDIR/.zsh_history";
@ -26,5 +27,6 @@
'';
};
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = [ "state/.config/zsh" ];
home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories = with lib; with config.home; with config.xdg;
[ "state/${removePrefix "${homeDirectory}/" configHome}/zsh" ];
}