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,16 +1,17 @@
{ config {
, home-manager config,
, lib home-manager,
, nixpkgs lib,
, nixpkgs-wayland nixpkgs,
, nix-index-database nixpkgs-wayland,
, nh nix-index-database,
, nur nh,
, nix-melt nur,
, nurl nix-melt,
, coc-stylelintplus nurl,
, pkgs coc-stylelintplus,
, ... pkgs,
...
}: { }: {
imports = [ imports = [
./cachix.nix ./cachix.nix
@ -88,20 +89,18 @@
}) })
]; ];
home.packages = [ home.packages =
[
nix-melt.packages.x86_64-linux.default nix-melt.packages.x86_64-linux.default
nurl.packages.x86_64-linux.default nurl.packages.x86_64-linux.default
] ++ ]
++ (with config.nur.repos.rycee; [
(with config.nur.repos.rycee; [
mozilla-addons-to-nix mozilla-addons-to-nix
]) ++ ])
++ (with pkgs.nodePackages; [
(with pkgs.nodePackages; [
undollar undollar
]) ++ ])
++ (with pkgs; [
(with pkgs; [
dracula-theme dracula-theme
neofetch neofetch
progress progress

View file

@ -1,10 +1,13 @@
{ config, lib, ... }: { {
config,
lib,
...
}: {
imports = [ imports = [
./programs.nix ./programs.nix
]; ];
programs = { programs = {
starship = let starship = let
textColor = "#e3e5e5"; textColor = "#e3e5e5";
firstColor = "#bd93f9"; firstColor = "#bd93f9";

View file

@ -1,6 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
programs = { programs = {
git = { git = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;

View file

@ -0,0 +1,2 @@
-- Add `:Format` command to format current buffer
vim.api.nvim_create_user_command("Format", "call CocAction('format')", {})

View file

@ -1,6 +1,11 @@
{ pkgs, lib, ... }: let {
pkgs,
lib,
...
}: let
# installs a vim plugin from git with a given tag / branch # installs a vim plugin from git with a given tag / branch
plugin = owner: repo: rev: hash: pkgs.vimUtils.buildVimPlugin { plugin = owner: repo: rev: hash:
pkgs.vimUtils.buildVimPlugin {
pname = "${lib.strings.sanitizeDerivationName repo}"; pname = "${lib.strings.sanitizeDerivationName repo}";
version = rev; version = rev;
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
@ -11,18 +16,17 @@
in { in {
# TODO: make a gradle module and have java in device-vars.nix # TODO: make a gradle module and have java in device-vars.nix
xdg.dataFile = { xdg.dataFile = {
".gradle/gradle.properties".source = ".gradle/gradle.properties".source = pkgs.writeText "gradle.properties" ''
pkgs.writeText "gradle.properties" ''
org.gradle.java.home = ${pkgs.temurin-bin-17} org.gradle.java.home = ${pkgs.temurin-bin-17}
''; '';
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
gradle gradle
gradle-completion # FIXME: not working gradle-completion # FIXME: not working
alejandra
]; ];
programs = { programs = {
java = { java = {
enable = true; enable = true;
package = pkgs.temurin-bin-17; package = pkgs.temurin-bin-17;
@ -97,6 +101,11 @@ in {
command = "nil"; command = "nil";
filetypes = ["nix"]; filetypes = ["nix"];
rootPatterns = ["flake.nix"]; rootPatterns = ["flake.nix"];
settings = {
nil = {
formatting = {command = ["alejandra"];};
};
};
}; };
}; };
@ -107,6 +116,7 @@ in {
}; };
extraConfig = fileContents ./base.vim; extraConfig = fileContents ./base.vim;
extraLuaConfig = fileContents ./base.lua;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
# Coc configured # Coc configured
@ -173,9 +183,10 @@ in {
config = fileContents ./plugins/treesitter.vim; config = fileContents ./plugins/treesitter.vim;
} }
{ {
plugin = (plugin "lukas-reineke" "indent-blankline.nvim" plugin =
plugin "lukas-reineke" "indent-blankline.nvim"
"046e2cf04e08ece927bacbfb87c5b35c0b636546" "046e2cf04e08ece927bacbfb87c5b35c0b636546"
"sha256-bhoep8aTYje5K/dZ/XmpwBPn4PBEMPrmw33QJdfFe6M="); "sha256-bhoep8aTYje5K/dZ/XmpwBPn4PBEMPrmw33QJdfFe6M=";
type = "lua"; type = "lua";
config = fileContents ./plugins/indent.lua; config = fileContents ./plugins/indent.lua;
} }

View file

@ -11,7 +11,8 @@
}; };
packages = with pkgs; [ packages = with pkgs; [
(nerdfonts.override { fonts = [ (nerdfonts.override {
fonts = [
"JetBrainsMono" "JetBrainsMono"
"Go-Mono" "Go-Mono"
"Iosevka" "Iosevka"
@ -19,7 +20,8 @@
"SpaceMono" "SpaceMono"
"Ubuntu" "Ubuntu"
"Noto" "Noto"
]; }) ];
})
noto-fonts noto-fonts
noto-fonts-cjk noto-fonts-cjk
noto-fonts-emoji noto-fonts-emoji

View file

@ -1,6 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
services = { services = {
fwupd.enable = true; fwupd.enable = true;
upower.enable = true; upower.enable = true;

View file

@ -1,9 +1,13 @@
final: prev: { final: prev: {
blueberry = prev.blueberry.overrideAttrs (o: { blueberry = prev.blueberry.overrideAttrs (o: {
patches = (o.patches or [ ]) ++ [ patches =
(o.patches or [])
++ [
./patches/wayland.patch ./patches/wayland.patch
]; ];
buildInputs = (o.buildInputs or [ ]) ++ [ buildInputs =
(o.buildInputs or [])
++ [
prev.libappindicator prev.libappindicator
]; ];
}); });

View file

@ -27,9 +27,9 @@
hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk="; hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk=";
}; };
in { in {
nixpkgs.overlays = [ (final: prev: { nixpkgs.overlays = [
(final: prev: {
dracula-theme = prev.dracula-theme.overrideAttrs (oldAttrs: rec { dracula-theme = prev.dracula-theme.overrideAttrs (oldAttrs: rec {
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub {
owner = "dracula"; owner = "dracula";
repo = "gtk"; repo = "gtk";
@ -96,5 +96,6 @@ in {
runHook postInstall runHook postInstall
''; '';
}); });
}) ]; })
];
} }

View file

@ -1,5 +1,4 @@
{python3Packages}: {python3Packages}:
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "coloryou"; pname = "coloryou";
version = "0.0.1"; version = "0.0.1";

View file

@ -1,6 +1,5 @@
with import <nixpkgs> {}; with import <nixpkgs> {};
with pkgs.python311Packages; with pkgs.python311Packages;
buildPythonPackage rec { buildPythonPackage rec {
name = "coloryou"; name = "coloryou";
src = ./.; src = ./.;

View file

@ -1,12 +1,12 @@
{ stdenv {
, meson stdenv,
, ninja meson,
, pkg-config ninja,
, cmake pkg-config,
, bash-completion cmake,
, fetchFromGitHub bash-completion,
fetchFromGitHub,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "input-emulator"; pname = "input-emulator";
version = "6c35040e6fc4f65ce0519ee76d00d60490bcb987"; version = "6c35040e6fc4f65ce0519ee76d00d60490bcb987";

View file

@ -1,17 +1,17 @@
{ stdenv {
, meson stdenv,
, ninja meson,
, pkg-config ninja,
, glib pkg-config,
, libfprint glib,
, polkit libfprint,
, dbus polkit,
, systemd dbus,
, pam systemd,
, libpam-wrapper pam,
, fetchFromGitLab libpam-wrapper,
fetchFromGitLab,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pam-fprint-grosshack"; pname = "pam-fprint-grosshack";
version = "v0.3.0"; version = "v0.3.0";

View file

@ -1,5 +1,4 @@
# https://github.com/NixOS/nixpkgs/blob/77b27fdb6a9ba01f60b8f5c48038938cf14b7d2f/pkgs/applications/audio/spotifywm/default.nix # https://github.com/NixOS/nixpkgs/blob/77b27fdb6a9ba01f60b8f5c48038938cf14b7d2f/pkgs/applications/audio/spotifywm/default.nix
{ {
lib, lib,
stdenv, stdenv,
@ -8,8 +7,7 @@
makeBinaryWrapper, makeBinaryWrapper,
spotify, spotify,
symlinkJoin, symlinkJoin,
}: }: let
let
spotifywm = stdenv.mkDerivation { spotifywm = stdenv.mkDerivation {
pname = "spotifywm"; pname = "spotifywm";
version = "unstable-2022-10-25"; version = "unstable-2022-10-25";

View file

@ -1,6 +1,8 @@
final: prev: { final: prev: {
squeekboard = prev.squeekboard.overrideAttrs (o: { squeekboard = prev.squeekboard.overrideAttrs (o: {
patches = (o.patches or [ ]) ++ [ patches =
(o.patches or [])
++ [
./patches/remove-panel.patch ./patches/remove-panel.patch
]; ];
}); });

View file

@ -32,7 +32,6 @@
}; };
home-manager.users = { home-manager.users = {
matt = { matt = {
imports = [ imports = [
../../home/alacritty.nix ../../home/alacritty.nix
../../home/dconf.nix ../../home/dconf.nix

View file

@ -1,4 +1,10 @@
{ config, lib, modulesPath, pkgs, ... }: { {
config,
lib,
modulesPath,
pkgs,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")]; imports = [(modulesPath + "/installer/scan/not-detected.nix")];
boot = { boot = {

View file

@ -1,4 +1,8 @@
{ pkgs, lib, ... }: { {
pkgs,
lib,
...
}: {
programs.dconf.enable = true; programs.dconf.enable = true;
services = { services = {

View file

@ -1,12 +1,18 @@
{ pkgs, lib, ... }: let {
gsr = (pkgs.gpu-screen-recorder.overrideAttrs (o: { pkgs,
lib,
...
}: let
gsr = pkgs.gpu-screen-recorder.overrideAttrs (o: {
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://repo.dec05eba.com/gpu-screen-recorder"; url = "https://repo.dec05eba.com/gpu-screen-recorder";
rev = "1ac862d155e10f050e6f6cca5381f9f5a3528d98"; rev = "1ac862d155e10f050e6f6cca5381f9f5a3528d98";
hash = "sha256-wLiBn4VIi+IWY4qVkdFzkHhECTFH97snogVTEwM5yx8="; hash = "sha256-wLiBn4VIi+IWY4qVkdFzkHhECTFH97snogVTEwM5yx8=";
}; };
buildInputs = (o.buildInputs or [ ]) ++ (with pkgs; [ buildInputs =
(o.buildInputs or [])
++ (with pkgs; [
wayland wayland
wayland-protocols wayland-protocols
libdrm libdrm
@ -30,7 +36,7 @@
pkgs.libglvnd pkgs.libglvnd
]}" ]}"
''; '';
})); });
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
pulseaudio # for getting audio sink pulseaudio # for getting audio sink

View file

@ -1,4 +1,8 @@
{ nix-gaming, pkgs, ... }: { {
nix-gaming,
pkgs,
...
}: {
imports = [ imports = [
nix-gaming.nixosModules.steamCompat nix-gaming.nixosModules.steamCompat
]; ];

View file

@ -1,5 +1,4 @@
{ config, ... }: {config, ...}: {
{
# Enable OpenGL # Enable OpenGL
hardware.opengl = { hardware.opengl = {
enable = true; enable = true;
@ -11,7 +10,6 @@
services.xserver.videoDrivers = ["nvidia"]; services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = { hardware.nvidia = {
# Modesetting is required. # Modesetting is required.
modesetting.enable = true; modesetting.enable = true;

View file

@ -1,4 +1,9 @@
{ config, modulesPath, pkgs, ... }: { {
config,
modulesPath,
pkgs,
...
}: {
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
imports = [(modulesPath + "/installer/scan/not-detected.nix")]; imports = [(modulesPath + "/installer/scan/not-detected.nix")];

View file

@ -1,8 +1,11 @@
{ config, pkgs, ... }: let {
config,
pkgs,
...
}: let
configDir = config.services.device-vars.configDir; configDir = config.services.device-vars.configDir;
symlink = config.lib.file.mkOutOfStoreSymlink; symlink = config.lib.file.mkOutOfStoreSymlink;
in in {
{
xdg.configFile = { xdg.configFile = {
"gtklock/config.ini".source = pkgs.writeText "config.ini" '' "gtklock/config.ini".source = pkgs.writeText "config.ini" ''
[main] [main]

View file

@ -1,4 +1,12 @@
{ pkgs, config, hyprland, hyprgrass, ags, osConfig, ... }: let {
pkgs,
config,
hyprland,
hyprgrass,
ags,
osConfig,
...
}: let
configDir = config.services.device-vars.configDir; configDir = config.services.device-vars.configDir;
symlink = config.lib.file.mkOutOfStoreSymlink; symlink = config.lib.file.mkOutOfStoreSymlink;
@ -68,7 +76,6 @@ in {
networkmanagerapplet # TODO: replace with ags widget networkmanagerapplet # TODO: replace with ags widget
blueberry # TODO: replace with ags widget blueberry # TODO: replace with ags widget
# Hyprland # Hyprland
swww swww
swayidle swayidle

View file

@ -1,8 +1,11 @@
{ pkgs, nixpkgs-wayland, ... }: let {
pkgs,
nixpkgs-wayland,
...
}: let
waypkgs = nixpkgs-wayland.packages.x86_64-linux; waypkgs = nixpkgs-wayland.packages.x86_64-linux;
in { in {
programs = { programs = {
obs-studio = { obs-studio = {
enable = true; enable = true;
plugins = with waypkgs; [ plugins = with waypkgs; [
@ -13,12 +16,12 @@ in {
btop.enable = true; btop.enable = true;
}; };
home.packages = (with pkgs.python311Packages; [ home.packages =
(with pkgs.python311Packages; [
python python
pyclip pyclip
]) ++ ])
++ (with pkgs.plasma5Packages; [
(with pkgs.plasma5Packages; [
polkit-kde-agent polkit-kde-agent
ark ark
kcharselect kcharselect
@ -34,14 +37,12 @@ in {
kio-admin # needs to be both here and in system pkgs kio-admin # needs to be both here and in system pkgs
kio-extras kio-extras
kmime kmime
]) ++ ])
++ (with pkgs.gnome; [
(with pkgs.gnome; [
gnome-calculator gnome-calculator
seahorse seahorse
]) ++ ])
++ (with pkgs; [
(with pkgs; [
# School # School
virt-manager virt-manager
bluej bluej

View file

@ -1,4 +1,8 @@
{ hyprland, pkgs, ... }: { {
hyprland,
pkgs,
...
}: {
programs.dconf.enable = true; programs.dconf.enable = true;
services = { services = {

View file

@ -1,6 +1,8 @@
{ pkgs, lib, ... }:
{ {
pkgs,
lib,
...
}: {
services.fprintd.enable = true; services.fprintd.enable = true;
# https://www.reddit.com/r/NixOS/comments/z7i83r/fingertip_tip_start_fprintd_at_boot_for_a_quick/ # https://www.reddit.com/r/NixOS/comments/z7i83r/fingertip_tip_start_fprintd_at_boot_for_a_quick/
@ -16,7 +18,6 @@
''; '';
security.pam.services = { security.pam.services = {
gtklock = {}; gtklock = {};
# all the changes in /etc/pam.d/* # all the changes in /etc/pam.d/*

View file

@ -46,11 +46,19 @@
}; };
}; };
outputs = { self, nixpkgs, home-manager, nur, nix-gaming, ... }@attrs: let outputs = {
self,
home-manager,
nix-gaming,
nixpkgs,
nur,
...
} @ attrs: let
defaultModules = [ defaultModules = [
nur.nixosModules.nur nur.nixosModules.nur
home-manager.nixosModules.home-manager { home-manager.nixosModules.home-manager
{
home-manager.extraSpecialArgs = attrs; home-manager.extraSpecialArgs = attrs;
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
@ -63,7 +71,9 @@
wim = nixpkgs.lib.nixosSystem { wim = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = attrs; specialArgs = attrs;
modules = defaultModules ++ [ modules =
defaultModules
++ [
./devices/wim ./devices/wim
]; ];
}; };
@ -71,10 +81,15 @@
binto = nixpkgs.lib.nixosSystem { binto = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = attrs; specialArgs = attrs;
modules = defaultModules ++ [ modules =
defaultModules
++ [
./devices/binto ./devices/binto
]; ];
}; };
}; };
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra;
}; };
} }

View file

@ -1,9 +1,18 @@
{ fetchurl, lib, stdenv }@args: {
fetchurl,
let lib,
stdenv,
buildFirefoxXpiAddon = lib.makeOverridable ({ stdenv ? args.stdenv } @ args: let
, fetchurl ? args.fetchurl, pname, version, addonId, url, sha256, meta, ... buildFirefoxXpiAddon = lib.makeOverridable ({
stdenv ? args.stdenv,
fetchurl ? args.fetchurl,
pname,
version,
addonId,
url,
sha256,
meta,
...
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -25,13 +34,15 @@ let
packages = import ./generated-firefox-addons.nix { packages = import ./generated-firefox-addons.nix {
inherit buildFirefoxXpiAddon fetchurl lib stdenv; inherit buildFirefoxXpiAddon fetchurl lib stdenv;
}; };
in
in packages // { packages
// {
inherit buildFirefoxXpiAddon; inherit buildFirefoxXpiAddon;
seventv = let seventv = let
version = "v3.0.10.1000"; version = "v3.0.10.1000";
in buildFirefoxXpiAddon { in
buildFirefoxXpiAddon {
pname = "seventv"; pname = "seventv";
inherit version; inherit version;
addonId = "moz-addon@7tv.app"; addonId = "moz-addon@7tv.app";

View file

@ -1,13 +1,16 @@
{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }:
{ {
buildFirefoxXpiAddon,
fetchurl,
lib,
stdenv,
}: {
"600-sound-volume" = buildFirefoxXpiAddon { "600-sound-volume" = buildFirefoxXpiAddon {
pname = "600-sound-volume"; pname = "600-sound-volume";
version = "1.5.3"; version = "1.5.3";
addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}"; addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}";
url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi";
sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304"; sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304";
meta = with lib; meta = with lib; {
{
homepage = "http://resourcefulman.net/"; homepage = "http://resourcefulman.net/";
description = "Up to 600% volume boost"; description = "Up to 600% volume boost";
license = licenses.mpl20; license = licenses.mpl20;
@ -21,8 +24,7 @@
addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}"; addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}";
url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi";
sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0"; sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0";
meta = with lib; meta = with lib; {
{
homepage = "https://github.com/tanwald/checkmarks"; homepage = "https://github.com/tanwald/checkmarks";
description = "Checks, sorts, formats bookmarks and loads favicons."; description = "Checks, sorts, formats bookmarks and loads favicons.";
license = licenses.gpl3; license = licenses.gpl3;
@ -45,8 +47,7 @@
addonId = "@contain-google"; addonId = "@contain-google";
url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi";
sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0"; sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0";
meta = with lib; meta = with lib; {
{
homepage = "https://github.com/containers-everywhere/contain-google"; 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."; 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; license = licenses.mpl20;
@ -69,8 +70,7 @@
addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}"; addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}";
url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi";
sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb"; sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb";
meta = with lib; meta = with lib; {
{
description = "inspired by Opera GX"; description = "inspired by Opera GX";
license = licenses.cc-by-sa-30; license = licenses.cc-by-sa-30;
mozPermissions = []; mozPermissions = [];
@ -83,8 +83,7 @@
addonId = "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}"; addonId = "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}";
url = "https://addons.mozilla.org/firefox/downloads/file/4179399/ttv_lol_pro-2.2.1.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/4179399/ttv_lol_pro-2.2.1.xpi";
sha256 = "83d012878021fb5fe25bee1101a7a760974ae9e2949b80fd99b73d3da48b1f99"; sha256 = "83d012878021fb5fe25bee1101a7a760974ae9e2949b80fd99b73d3da48b1f99";
meta = with lib; meta = with lib; {
{
homepage = "https://github.com/younesaassila/ttv-lol-pro"; homepage = "https://github.com/younesaassila/ttv-lol-pro";
description = "TTV LOL PRO removes most livestream ads from Twitch."; description = "TTV LOL PRO removes most livestream ads from Twitch.";
license = licenses.gpl3; license = licenses.gpl3;

View file

@ -1,10 +1,13 @@
{ config, pkgs, ... }: let {
config,
pkgs,
...
}: let
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons {}); firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons {});
sound-volume = firefox-addons."600-sound-volume"; sound-volume = firefox-addons."600-sound-volume";
firefox-gx = pkgs.callPackage ./firefox-gx {}; firefox-gx = pkgs.callPackage ./firefox-gx {};
in in {
{
home.file = { home.file = {
".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components"; ".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components";
".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons"; ".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons";
@ -76,66 +79,86 @@ in
force = true; force = true;
engines = { engines = {
"Nix Packages" = { "Nix Packages" = {
urls = [{ urls = [
{
template = "https://search.nixos.org/packages"; template = "https://search.nixos.org/packages";
params = [ params = [
{ name = "type"; value = "packages"; } {
{ name = "query"; value = "{searchTerms}"; } name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
]; ];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg"; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
definedAliases = ["@np"]; definedAliases = ["@np"];
}; };
"NixOS Wiki" = { "NixOS Wiki" = {
urls = [{ template = urls = [
"https://nixos.wiki/index.php?search={searchTerms}"; {
}]; template = "https://nixos.wiki/index.php?search={searchTerms}";
}
];
iconUpdateURL = "https://nixos.wiki/favicon.png"; iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@nw"]; definedAliases = ["@nw"];
}; };
"MyNixos" = { "MyNixos" = {
urls = [{ template = urls = [
"https://mynixos.com/search?q={searchTerms}"; {
}]; template = "https://mynixos.com/search?q={searchTerms}";
}
];
iconUpdateURL = "https://mynixos.com/favicon.ico"; iconUpdateURL = "https://mynixos.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@mn"]; definedAliases = ["@mn"];
}; };
"Noogle" = { "Noogle" = {
urls = [{ template = urls = [
"https://noogle.dev/?term={searchTerms}"; {
}]; template = "https://noogle.dev/?term={searchTerms}";
}
];
iconUpdateURL = "https://noogle.dev/favicon.ico"; iconUpdateURL = "https://noogle.dev/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@ng"]; definedAliases = ["@ng"];
}; };
"Firefox Add-ons" = { "Firefox Add-ons" = {
urls = [{ template = urls = [
"https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}"; {
}]; template = "https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
}
];
iconUpdateURL = "https://addons.mozilla.org/favicon.ico"; iconUpdateURL = "https://addons.mozilla.org/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@fa"]; definedAliases = ["@fa"];
}; };
"ProtonDB" = { "ProtonDB" = {
urls = [{ template = urls = [
"https://www.protondb.com/search?q={searchTerms}"; {
}]; template = "https://www.protondb.com/search?q={searchTerms}";
}
];
iconUpdateURL = "https://www.protondb.com/favicon.ico"; iconUpdateURL = "https://www.protondb.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@pdb"]; definedAliases = ["@pdb"];
}; };
"YouTube" = { "YouTube" = {
urls = [{ template = urls = [
"https://www.youtube.com/results?search_query={searchTerms}"; {
}]; template = "https://www.youtube.com/results?search_query={searchTerms}";
}
];
iconUpdateURL = "https://www.youtube.com/favicon.ico"; iconUpdateURL = "https://www.youtube.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@yt" "@youtube"]; definedAliases = ["@yt" "@youtube"];
@ -165,9 +188,8 @@ in
stylus stylus
#tridactyl #tridactyl
ublock-origin ublock-origin
]) ++ ])
++ (with rycee.firefox-addons; [
(with rycee.firefox-addons; [
bitwarden bitwarden
darkreader darkreader
floccus floccus
@ -175,9 +197,8 @@ in
image-search-options image-search-options
return-youtube-dislikes return-youtube-dislikes
undoclosetabbutton undoclosetabbutton
]) ++ ])
++ (with firefox-addons; [
(with firefox-addons; [
sound-volume sound-volume
google-container google-container
checkmarks-web-ext checkmarks-web-ext

View file

@ -1,5 +1,9 @@
{ lib, stdenvNoCC, fetchFromGitHub, writeText }: {
let lib,
stdenvNoCC,
fetchFromGitHub,
writeText,
}: let
pname = "firefox-gx"; pname = "firefox-gx";
version = "8.5"; version = "8.5";

View file

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

View file

@ -1,8 +1,9 @@
{ lib {
, pkgs lib,
, config pkgs,
, hyprland config,
, ... hyprland,
...
}: let }: let
regreetBin = "${lib.getExe config.programs.regreet.package}"; regreetBin = "${lib.getExe config.programs.regreet.package}";
hyprBin = "${hyprland.packages.x86_64-linux.default}/bin"; hyprBin = "${hyprland.packages.x86_64-linux.default}/bin";

View file

@ -1,5 +1,4 @@
{pkgs, ...}: { {pkgs, ...}: {
services = { services = {
# Enable CUPS to print documents. # Enable CUPS to print documents.
printing = { printing = {