feat: add nix code formatter

This commit is contained in:
matt1432 2023-11-22 15:33:16 -05:00
parent 231fd16756
commit 1fae0a73d3
52 changed files with 725 additions and 617 deletions

View file

@ -1,4 +1,4 @@
{ config, ... }: {
{config, ...}: {
programs.alacritty = {
enable = true;
settings = {

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
@ -6,7 +6,7 @@
};
"apps/seahorse/listing" = {
keyrings-selected = [ "gnupg://" ];
keyrings-selected = ["gnupg://"];
};
"org/gtk/settings/file-chooser" = {

View file

@ -1,16 +1,25 @@
{ fetchurl, lib, stdenv }@args:
let
buildFirefoxXpiAddon = lib.makeOverridable ({ stdenv ? args.stdenv
, fetchurl ? args.fetchurl, pname, version, addonId, url, sha256, meta, ...
}:
{
fetchurl,
lib,
stdenv,
} @ args: let
buildFirefoxXpiAddon = lib.makeOverridable ({
stdenv ? args.stdenv,
fetchurl ? args.fetchurl,
pname,
version,
addonId,
url,
sha256,
meta,
...
}:
stdenv.mkDerivation {
name = "${pname}-${version}";
inherit meta;
src = fetchurl { inherit url sha256; };
src = fetchurl {inherit url sha256;};
preferLocalBuild = true;
allowSubstitutes = true;
@ -25,23 +34,25 @@ let
packages = import ./generated-firefox-addons.nix {
inherit buildFirefoxXpiAddon fetchurl lib stdenv;
};
in
packages
// {
inherit buildFirefoxXpiAddon;
in packages // {
inherit buildFirefoxXpiAddon;
seventv = let
version = "v3.0.10.1000";
in buildFirefoxXpiAddon {
pname = "seventv";
inherit version;
addonId = "moz-addon@7tv.app";
url = "https://extension.7tv.gg/${version}/ext.xpi";
sha256 = "sha256-dZyjFayvnLebSZHjMTTQFjcsxxpmc1aL5q17mLF3kG8=";
meta = with lib; {
homepage = "https://7tv.app/";
description = "The Web Extension for 7TV, bringing new features, emotes, vanity and performance to Twitch, Kick & YouTube";
license = licenses.asl20;
platforms = platforms.all;
};
};
}
seventv = let
version = "v3.0.10.1000";
in
buildFirefoxXpiAddon {
pname = "seventv";
inherit version;
addonId = "moz-addon@7tv.app";
url = "https://extension.7tv.gg/${version}/ext.xpi";
sha256 = "sha256-dZyjFayvnLebSZHjMTTQFjcsxxpmc1aL5q17mLF3kG8=";
meta = with lib; {
homepage = "https://7tv.app/";
description = "The Web Extension for 7TV, bringing new features, emotes, vanity and performance to Twitch, Kick & YouTube";
license = licenses.asl20;
platforms = platforms.all;
};
};
}

View file

@ -1,105 +1,104 @@
{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }:
{
"600-sound-volume" = buildFirefoxXpiAddon {
pname = "600-sound-volume";
version = "1.5.3";
addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}";
url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi";
sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304";
meta = with lib;
{
homepage = "http://resourcefulman.net/";
description = "Up to 600% volume boost";
license = licenses.mpl20;
mozPermissions = [ "<all_urls>" "tabs" "activeTab" "storage" ];
platforms = platforms.all;
};
};
"checkmarks-web-ext" = buildFirefoxXpiAddon {
pname = "checkmarks-web-ext";
version = "1.6.1";
addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}";
url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi";
sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0";
meta = with lib;
{
homepage = "https://github.com/tanwald/checkmarks";
description = "Checks, sorts, formats bookmarks and loads favicons.";
license = licenses.gpl3;
mozPermissions = [
"<all_urls>"
"bookmarks"
"browsingData"
"storage"
"tabs"
"webNavigation"
"webRequest"
"webRequestBlocking"
];
platforms = platforms.all;
};
};
"google-container" = buildFirefoxXpiAddon {
pname = "google-container";
version = "1.5.4";
addonId = "@contain-google";
url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi";
sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0";
meta = with lib;
{
homepage = "https://github.com/containers-everywhere/contain-google";
description = "THIS IS NOT AN OFFICIAL ADDON FROM MOZILLA!\nIt is a fork of the Facebook Container addon.\n\nPrevent Google from tracking you around the web. The Google Container extension helps you take control and isolate your web activity from Google.";
license = licenses.mpl20;
mozPermissions = [
"<all_urls>"
"contextualIdentities"
"cookies"
"management"
"tabs"
"webRequestBlocking"
"webRequest"
"storage"
];
platforms = platforms.all;
};
};
"opera-gx-witchcraft-purple" = buildFirefoxXpiAddon {
pname = "opera-gx-witchcraft-purple";
version = "2.0";
addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}";
url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi";
sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb";
meta = with lib;
{
description = "inspired by Opera GX";
license = licenses.cc-by-sa-30;
mozPermissions = [];
platforms = platforms.all;
};
};
"ttv-lol-pro" = buildFirefoxXpiAddon {
pname = "ttv-lol-pro";
version = "2.2.1";
addonId = "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}";
url = "https://addons.mozilla.org/firefox/downloads/file/4179399/ttv_lol_pro-2.2.1.xpi";
sha256 = "83d012878021fb5fe25bee1101a7a760974ae9e2949b80fd99b73d3da48b1f99";
meta = with lib;
{
homepage = "https://github.com/younesaassila/ttv-lol-pro";
description = "TTV LOL PRO removes most livestream ads from Twitch.";
license = licenses.gpl3;
mozPermissions = [
"proxy"
"storage"
"webRequest"
"webRequestBlocking"
"https://*.ttvnw.net/*"
"https://*.twitch.tv/*"
"https://perfprod.com/ttvlolpro/telemetry"
"https://www.twitch.tv/*"
"https://m.twitch.tv/*"
];
platforms = platforms.all;
};
};
}
{
buildFirefoxXpiAddon,
fetchurl,
lib,
stdenv,
}: {
"600-sound-volume" = buildFirefoxXpiAddon {
pname = "600-sound-volume";
version = "1.5.3";
addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}";
url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi";
sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304";
meta = with lib; {
homepage = "http://resourcefulman.net/";
description = "Up to 600% volume boost";
license = licenses.mpl20;
mozPermissions = ["<all_urls>" "tabs" "activeTab" "storage"];
platforms = platforms.all;
};
};
"checkmarks-web-ext" = buildFirefoxXpiAddon {
pname = "checkmarks-web-ext";
version = "1.6.1";
addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}";
url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi";
sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0";
meta = with lib; {
homepage = "https://github.com/tanwald/checkmarks";
description = "Checks, sorts, formats bookmarks and loads favicons.";
license = licenses.gpl3;
mozPermissions = [
"<all_urls>"
"bookmarks"
"browsingData"
"storage"
"tabs"
"webNavigation"
"webRequest"
"webRequestBlocking"
];
platforms = platforms.all;
};
};
"google-container" = buildFirefoxXpiAddon {
pname = "google-container";
version = "1.5.4";
addonId = "@contain-google";
url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi";
sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0";
meta = with lib; {
homepage = "https://github.com/containers-everywhere/contain-google";
description = "THIS IS NOT AN OFFICIAL ADDON FROM MOZILLA!\nIt is a fork of the Facebook Container addon.\n\nPrevent Google from tracking you around the web. The Google Container extension helps you take control and isolate your web activity from Google.";
license = licenses.mpl20;
mozPermissions = [
"<all_urls>"
"contextualIdentities"
"cookies"
"management"
"tabs"
"webRequestBlocking"
"webRequest"
"storage"
];
platforms = platforms.all;
};
};
"opera-gx-witchcraft-purple" = buildFirefoxXpiAddon {
pname = "opera-gx-witchcraft-purple";
version = "2.0";
addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}";
url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi";
sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb";
meta = with lib; {
description = "inspired by Opera GX";
license = licenses.cc-by-sa-30;
mozPermissions = [];
platforms = platforms.all;
};
};
"ttv-lol-pro" = buildFirefoxXpiAddon {
pname = "ttv-lol-pro";
version = "2.2.1";
addonId = "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}";
url = "https://addons.mozilla.org/firefox/downloads/file/4179399/ttv_lol_pro-2.2.1.xpi";
sha256 = "83d012878021fb5fe25bee1101a7a760974ae9e2949b80fd99b73d3da48b1f99";
meta = with lib; {
homepage = "https://github.com/younesaassila/ttv-lol-pro";
description = "TTV LOL PRO removes most livestream ads from Twitch.";
license = licenses.gpl3;
mozPermissions = [
"proxy"
"storage"
"webRequest"
"webRequestBlocking"
"https://*.ttvnw.net/*"
"https://*.twitch.tv/*"
"https://perfprod.com/ttvlolpro/telemetry"
"https://www.twitch.tv/*"
"https://m.twitch.tv/*"
];
platforms = platforms.all;
};
};
}

View file

@ -1,14 +1,17 @@
{ config, pkgs, ... }: let
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons { });
{
config,
pkgs,
...
}: let
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons {});
sound-volume = firefox-addons."600-sound-volume";
firefox-gx = pkgs.callPackage ./firefox-gx { };
in
{
firefox-gx = pkgs.callPackage ./firefox-gx {};
in {
home.file = {
".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components";
".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons";
".mozilla/firefox/matt/chrome/images".source = "${firefox-gx}/chrome/images";
".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components";
".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons";
".mozilla/firefox/matt/chrome/images".source = "${firefox-gx}/chrome/images";
".mozilla/firefox/matt/chrome/userContent.css".source = "${firefox-gx}/chrome/userContent.css";
};
@ -76,69 +79,89 @@ in
force = true;
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
definedAliases = [ "@np" ];
definedAliases = ["@np"];
};
"NixOS Wiki" = {
urls = [{ template =
"https://nixos.wiki/index.php?search={searchTerms}";
}];
urls = [
{
template = "https://nixos.wiki/index.php?search={searchTerms}";
}
];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
definedAliases = ["@nw"];
};
"MyNixos" = {
urls = [{ template =
"https://mynixos.com/search?q={searchTerms}";
}];
urls = [
{
template = "https://mynixos.com/search?q={searchTerms}";
}
];
iconUpdateURL = "https://mynixos.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@mn" ];
definedAliases = ["@mn"];
};
"Noogle" = {
urls = [{ template =
"https://noogle.dev/?term={searchTerms}";
}];
urls = [
{
template = "https://noogle.dev/?term={searchTerms}";
}
];
iconUpdateURL = "https://noogle.dev/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@ng" ];
definedAliases = ["@ng"];
};
"Firefox Add-ons" = {
urls = [{ template =
"https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
}];
urls = [
{
template = "https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
}
];
iconUpdateURL = "https://addons.mozilla.org/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@fa" ];
definedAliases = ["@fa"];
};
"ProtonDB" = {
urls = [{ template =
"https://www.protondb.com/search?q={searchTerms}";
}];
urls = [
{
template = "https://www.protondb.com/search?q={searchTerms}";
}
];
iconUpdateURL = "https://www.protondb.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@pdb" ];
definedAliases = ["@pdb"];
};
"YouTube" = {
urls = [{ template =
"https://www.youtube.com/results?search_query={searchTerms}";
}];
urls = [
{
template = "https://www.youtube.com/results?search_query={searchTerms}";
}
];
iconUpdateURL = "https://www.youtube.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@yt" "@youtube" ];
definedAliases = ["@yt" "@youtube"];
};
"Bing".metaData.hidden = true;
@ -160,31 +183,29 @@ in
};
extensions = with config.nur.repos;
(with bandithedoge.firefoxAddons; [
sponsorblock
stylus
#tridactyl
ublock-origin
]) ++
(with rycee.firefox-addons; [
bitwarden
darkreader
floccus
istilldontcareaboutcookies
image-search-options
return-youtube-dislikes
undoclosetabbutton
]) ++
(with firefox-addons; [
sound-volume
google-container
checkmarks-web-ext
ttv-lol-pro
seventv
opera-gx-witchcraft-purple
]);
(with bandithedoge.firefoxAddons; [
sponsorblock
stylus
#tridactyl
ublock-origin
])
++ (with rycee.firefox-addons; [
bitwarden
darkreader
floccus
istilldontcareaboutcookies
image-search-options
return-youtube-dislikes
undoclosetabbutton
])
++ (with firefox-addons; [
sound-volume
google-container
checkmarks-web-ext
ttv-lol-pro
seventv
opera-gx-witchcraft-purple
]);
};
};
}

View file

@ -1,40 +1,44 @@
{ lib, stdenvNoCC, fetchFromGitHub, writeText }:
let
{
lib,
stdenvNoCC,
fetchFromGitHub,
writeText,
}: let
pname = "firefox-gx";
version = "8.5";
custom-menu = writeText "menu" "${builtins.readFile ./ogx_menu.css}";
custom-sidebar = writeText "sidebar" "${builtins.readFile ./ogx_left-sidebar.css}";
in
stdenvNoCC.mkDerivation {
inherit pname version;
stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "Godiesc";
repo = pname;
rev = "v.${version}";
sha256 = "sha256-llffq16PZz5GxkLIJDeWN1d04SCCJFqwCLzOrxgwhYI=";
};
src = fetchFromGitHub {
owner = "Godiesc";
repo = pname;
rev = "v.${version}";
sha256 = "sha256-llffq16PZz5GxkLIJDeWN1d04SCCJFqwCLzOrxgwhYI=";
};
installPhase = ''
# Personal changes
sed -i 's/var(--fuchsia))/var(--purple))/' ./chrome/components/ogx_root-personal.css
installPhase = ''
# Personal changes
sed -i 's/var(--fuchsia))/var(--purple))/' ./chrome/components/ogx_root-personal.css
# Fix new tab background for nix
substituteInPlace ./chrome/components/ogx_root-personal.css \
--replace '../images/newtab/wallpaper-dark.png' "$out/chrome/images/newtab/private-dark.png"
# Fix new tab background for nix
substituteInPlace ./chrome/components/ogx_root-personal.css \
--replace '../images/newtab/wallpaper-dark.png' "$out/chrome/images/newtab/private-dark.png"
# TODO: make patch instead
cp -a ${custom-menu} ./chrome/components/ogx_menu.css
cp -a ${custom-sidebar} ./chrome/components/ogx_left-sidebar.css
# TODO: make patch instead
cp -a ${custom-menu} ./chrome/components/ogx_menu.css
cp -a ${custom-sidebar} ./chrome/components/ogx_left-sidebar.css
mkdir -p $out
cp -r ./* $out
'';
mkdir -p $out
cp -r ./* $out
'';
meta = with lib; {
description = "Firefox Theme CSS to Opera GX Lovers ";
homepage = "https://github.com/Godiesc/firefox-gx";
license = licenses.mspl;
};
}
meta = with lib; {
description = "Firefox Theme CSS to Opera GX Lovers ";
homepage = "https://github.com/Godiesc/firefox-gx";
license = licenses.mspl;
};
}

View file

@ -1,4 +1,9 @@
{ pkgs, lib, config, ... }: let
{
pkgs,
lib,
config,
...
}: let
fontSize = config.services.device-vars.fontSize;
dracula-xresources = pkgs.fetchFromGitHub {
owner = "dracula";
@ -6,8 +11,7 @@
rev = "539ef24e9b0c5498a82d59bfa2bad9b618d832a3";
sha256 = "sha256-6fltsAluqOqYIh2NX0I/LC3WCWkb9Fn8PH6LNLBQbrY=";
};
in
{
in {
home.pointerCursor = {
name = "Dracula-cursors";
package = pkgs.dracula-theme;
@ -48,7 +52,7 @@ in
platformTheme = "qtct";
};
xresources.extraConfig = builtins.readFile("${dracula-xresources}/Xresources");
xresources.extraConfig = builtins.readFile "${dracula-xresources}/Xresources";
xdg.configFile = let
qtconf = ''
@ -58,13 +62,11 @@ in
[Appearance]
icon_theme=Flat-Remix-Violet-Dark
style=''
;
in
{
style='';
in {
"Kvantum/Dracula/Dracula.kvconfig".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
"Kvantum/Dracula/Dracula.svg".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
"Kvantum/Dracula/Dracula.svg".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
"qt5ct/qt5ct.conf".text = qtconf + "kvantum";
};

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
programs = {
wofi = {
enable = true;