reformat and clean stuff up

This commit is contained in:
notgne2 2021-09-18 21:19:59 -07:00
parent b03b8f6328
commit 2b110a13c0
No known key found for this signature in database
GPG key ID: BB661E172B42A7F8
8 changed files with 363 additions and 504 deletions

View file

@ -17,11 +17,12 @@ let
s' = builtins.match "(..)(..)(..)|(.)(.)(.)" c;
ss = builtins.elemAt s';
o = if ss 0 == null then 3 else 0;
in {
r = ss (0 + o);
g = ss (1 + o);
b = ss (2 + o);
};
in
{
r = ss (0 + o);
g = ss (1 + o);
b = ss (2 + o);
};
hexToRgb = c: builtins.mapAttrs (_: calc) (splitHex c);
@ -50,11 +51,13 @@ let
}
);
genTheme = repo: mustache (makeScheme cfg.base16 // {
scheme-name = cfg.favColors.name;
scheme-slug = "idk";
scheme-author = "nixos";
}) cfg.favColors.name "${repo}/templates/default.mustache";
genTheme = repo: mustache
(makeScheme cfg.base16 // {
scheme-name = cfg.favColors.name;
scheme-slug = "idk";
scheme-author = "nixos";
})
cfg.favColors.name "${repo}/templates/default.mustache";
in
{
options.colors = {
@ -62,7 +65,7 @@ in
i3BarColors = mkOption {
description = "Exported color attrset for i3bar/swaybar";
default = {};
default = { };
};
waybarCss = mkOption {
@ -87,7 +90,7 @@ in
favColors = mkOption {
description = "Your favourite color scheme";
default = {};
default = { };
type = types.submodule {
options = {
name = mkOption {
@ -199,163 +202,163 @@ in
showLabsSettings = true;
};
in
mkIf cfg.enable {
# Read only utility attributes
colors.base16 = cfg.favColors.base16;
colors.base16Rgb = builtins.mapAttrs hexToRgb cfg.favColors.base16;
colors.base16Split = builtins.mapAttrs splitHex cfg.favColors.base16;
mkIf cfg.enable {
# Read only utility attributes
colors.base16 = cfg.favColors.base16;
colors.base16Rgb = builtins.mapAttrs hexToRgb cfg.favColors.base16;
colors.base16Split = builtins.mapAttrs splitHex cfg.favColors.base16;
# Element
xdg.configFile."Riot/config.json".text = builtins.toJSON elementConfig;
xdg.configFile."Element/config.json".text = builtins.toJSON elementConfig;
xdg.configFile."element_theme.json".text = builtins.toJSON elementTheme;
# Element
xdg.configFile."Riot/config.json".text = builtins.toJSON elementConfig;
xdg.configFile."Element/config.json".text = builtins.toJSON elementConfig;
xdg.configFile."element_theme.json".text = builtins.toJSON elementTheme;
# Mako
programs.mako = {
backgroundColor = "#${cfg.favColors.base16.base00}";
textColor = "#${cfg.favColors.base16.base07}";
borderColor = "#${cfg.favColors.base16.base08}";
progressColor = "over #${cfg.favColors.base16.base0D}";
};
# I3/sway
wayland.windowManager.sway = i3config;
xsession.windowManager.i3 = i3config;
colors.i3BarColors = {
background = "#${cfg.favColors.base16.base00}";
separator = "#${cfg.favColors.base16.base01}";
statusline = "#${cfg.favColors.base16.base04}";
focusedWorkspace = {
border = "#${cfg.favColors.base16.base05}";
background = "#${cfg.favColors.base16.base0D}";
text = "#${cfg.favColors.base16.base00}";
};
activeWorkspace = {
border = "#${cfg.favColors.base16.base05}";
background = "#${cfg.favColors.base16.base03}";
text = "#${cfg.favColors.base16.base00}";
};
inactiveWorkspace = {
border = "#${cfg.favColors.base16.base03}";
background = "#${cfg.favColors.base16.base01}";
text = "#${cfg.favColors.base16.base05}";
};
urgentWorkspace = {
border = "#${cfg.favColors.base16.base08}";
background = "#${cfg.favColors.base16.base08}";
text = "#${cfg.favColors.base16.base00}";
};
bindingMode = {
border = "#${cfg.favColors.base16.base00}";
background = "#${cfg.favColors.base16.base0A}";
text = "#${cfg.favColors.base16.base00}";
};
};
# Waybar
colors.waybarCss =
"\n" + (
(import ../data/waybar-base16.nix)
cfg.favColors.name
cfg.base16
);
# Dunst
services.dunst = {
settings = {
global = {
frame_color = "#${cfg.favColors.base16.base09}";
separator_color = "#${cfg.favColors.base16.base05}";
};
urgency_low = {
background = "#${cfg.favColors.base16.base01}";
foreground = "#${cfg.favColors.base16.base03}";
};
urgency_normal = {
background = "#${cfg.favColors.base16.base02}";
foreground = "#${cfg.favColors.base16.base05}";
};
urgency_critical = {
background = "#${cfg.favColors.base16.base08}";
foreground = "#${cfg.favColors.base16.base06}";
};
};
};
# Rofi
programs.rofi.theme = "${genTheme inputs.base16-rofi}";
# Kitty
programs.kitty.extraConfig = ''
include ${genTheme inputs.base16-kitty}
'';
# neovim
xdg.configFile."nvim/colors/base16.vim".text = import ../data/vim-base16.nix cfg.favColors.name cfg.favColors.base16;
programs.neovim.extraConfig = ''
colorscheme base16
set termguicolors
'';
# GTK
gtk = {
enable = true;
theme =
let
generated-gtk-theme = pkgs.callPackage "${inputs.rycee}/pkgs/materia-theme" {
configBase16 = {
name = "Generated";
kind = "dark";
colors = builtins.mapAttrs (k: v: { hex.rgb = v; }) cfg.favColors.base16;
};
};
in
{
name = "Generated";
package = generated-gtk-theme;
};
gtk2.extraConfig = (
(import ../data/gtk2-base16.nix)
cfg.favColors.name
cfg.favColors.base16
);
};
# Codium/VSCODE
programs.vscode.userSettings = {
"workbench.colorTheme" = "nix colors";
};
home.file = lib.mkMerge
[
(
mkIf config.programs.vscode.enable {
".vscode-oss/extensions/base16-1.0.0/themes/nix-colors.json".text = (import ../data/codium-base16.nix) cfg.favColors.name cfg.favColors.base16;
".vscode-oss/extensions/base16-1.0.0/package.json".text = builtins.toJSON {
name = "nix colors";
displayName = "Automatic Nix-generated base16 colors";
version = "1.0.0";
publisher = "colors";
author = {
name = "ezpc usr";
email = "usr@ezpc";
};
engines.vscode = "^1.11.1";
categories = "Themes";
contributes.themes = [
{
label = "nix colors";
uiTheme = "vs-dark";
path = "./themes/nix-colors.json";
}
];
};
}
)
];
# Mako
programs.mako = {
backgroundColor = "#${cfg.favColors.base16.base00}";
textColor = "#${cfg.favColors.base16.base07}";
borderColor = "#${cfg.favColors.base16.base08}";
progressColor = "over #${cfg.favColors.base16.base0D}";
};
# I3/sway
wayland.windowManager.sway = i3config;
xsession.windowManager.i3 = i3config;
colors.i3BarColors = {
background = "#${cfg.favColors.base16.base00}";
separator = "#${cfg.favColors.base16.base01}";
statusline = "#${cfg.favColors.base16.base04}";
focusedWorkspace = {
border = "#${cfg.favColors.base16.base05}";
background = "#${cfg.favColors.base16.base0D}";
text = "#${cfg.favColors.base16.base00}";
};
activeWorkspace = {
border = "#${cfg.favColors.base16.base05}";
background = "#${cfg.favColors.base16.base03}";
text = "#${cfg.favColors.base16.base00}";
};
inactiveWorkspace = {
border = "#${cfg.favColors.base16.base03}";
background = "#${cfg.favColors.base16.base01}";
text = "#${cfg.favColors.base16.base05}";
};
urgentWorkspace = {
border = "#${cfg.favColors.base16.base08}";
background = "#${cfg.favColors.base16.base08}";
text = "#${cfg.favColors.base16.base00}";
};
bindingMode = {
border = "#${cfg.favColors.base16.base00}";
background = "#${cfg.favColors.base16.base0A}";
text = "#${cfg.favColors.base16.base00}";
};
};
# Waybar
colors.waybarCss =
"\n" + (
(import ../data/waybar-base16.nix)
cfg.favColors.name
cfg.base16
);
# Dunst
services.dunst = {
settings = {
global = {
frame_color = "#${cfg.favColors.base16.base09}";
separator_color = "#${cfg.favColors.base16.base05}";
};
urgency_low = {
background = "#${cfg.favColors.base16.base01}";
foreground = "#${cfg.favColors.base16.base03}";
};
urgency_normal = {
background = "#${cfg.favColors.base16.base02}";
foreground = "#${cfg.favColors.base16.base05}";
};
urgency_critical = {
background = "#${cfg.favColors.base16.base08}";
foreground = "#${cfg.favColors.base16.base06}";
};
};
};
# Rofi
programs.rofi.theme = "${genTheme inputs.base16-rofi}";
# Kitty
programs.kitty.extraConfig = ''
include ${genTheme inputs.base16-kitty}
'';
# neovim
xdg.configFile."nvim/colors/base16.vim".text = import ../data/vim-base16.nix cfg.favColors.name cfg.favColors.base16;
programs.neovim.extraConfig = ''
colorscheme base16
set termguicolors
'';
# GTK
gtk = {
enable = true;
theme =
let
generated-gtk-theme = pkgs.callPackage "${inputs.rycee}/pkgs/materia-theme" {
configBase16 = {
name = "Generated";
kind = "dark";
colors = builtins.mapAttrs (k: v: { hex.rgb = v; }) cfg.favColors.base16;
};
};
in
{
name = "Generated";
package = generated-gtk-theme;
};
gtk2.extraConfig = (
(import ../data/gtk2-base16.nix)
cfg.favColors.name
cfg.favColors.base16
);
};
# Codium/VSCODE
programs.vscode.userSettings = {
"workbench.colorTheme" = "nix colors";
};
home.file = lib.mkMerge
[
(
mkIf config.programs.vscode.enable {
".vscode-oss/extensions/base16-1.0.0/themes/nix-colors.json".text = (import ../data/codium-base16.nix) cfg.favColors.name cfg.favColors.base16;
".vscode-oss/extensions/base16-1.0.0/package.json".text = builtins.toJSON {
name = "nix colors";
displayName = "Automatic Nix-generated base16 colors";
version = "1.0.0";
publisher = "colors";
author = {
name = "ezpc usr";
email = "usr@ezpc";
};
engines.vscode = "^1.11.1";
categories = "Themes";
contributes.themes = [
{
label = "nix colors";
uiTheme = "vs-dark";
path = "./themes/nix-colors.json";
}
];
};
}
)
];
};
}

View file

@ -97,7 +97,7 @@ let
'';
ezDrv =
pkgs.runCommand "ez"
pkgs.runCommand "ez-commands"
{ }
(
''
@ -121,17 +121,6 @@ let
)
);
# TODO: why wont this work in an overlay
pnpm2nix =
pkgs.callPackage
(
builtins.fetchGit {
url = "https://github.com/notgne2/pnpm2nix.git";
rev = "d2863404330c6646800a49e73240e29e3265b594";
}
)
{ };
rofiMenu =
if cfg.wayland then
"${rofiBin} -show drun -show-icons -run-command 'swaymsg exec -- {cmd}'"
@ -318,14 +307,10 @@ let
menu = rofiMenu;
bars =
if (cfg.babybar || cfg.wayland != true) then [
{
position = "top";
colors = config.colors.i3BarColors;
}
] else
[ ];
bars = lib.optional (cfg.babybar || cfg.wayland != true) {
position = "top";
colors = config.colors.i3BarColors;
};
gaps = {
smartGaps = true;
@ -353,7 +338,7 @@ let
)}"
}
'';
};
};
services.keynav.enable = true;
services.clipmenu.enable = true;
@ -364,28 +349,6 @@ let
programs.chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
extensions = [
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin
{ id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; } # dark reader
{ id = "nngceckbapebfimnlniiiahkandclblb"; } # bitwarden
{
# chromium web store
id = "ocaahdebbfolfmndjeplogmgcagdmblk";
crxPath = builtins.fetchurl {
name = "chromium-web-store.crx";
url = "https://github.com/NeverDecaf/chromium-web-store/releases/download/v1.4.0/Chromium.Web.Store.crx";
sha256 = "1bfzd02a9krkapkbj51kxfp4a1q5x2m2pz5kv98ywfcarbivskgs";
};
version = "1.4.0";
}
{ id = "lanfdkkpgfjfdikkncbnojekcppdebfp"; } # canvas fingerprint defend
{ id = "fhkphphbadjkepgfljndicmgdlndmoke"; } # font fingerprint defend
{ id = "olnbjpaejebpnokblkepbphhembdicik"; } # webgl fingerprint defend
{ id = "pcbjiidheaempljdefbdplebgdgpjcbe"; } # audio fingerprint defend
{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } # tampermonkey
{ id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # vimium
{ id = "npeicpdbkakmehahjeeohfdhnlpdklia"; } # webrtc network limiter
];
};
services.lorri.enable = true;
@ -412,33 +375,6 @@ let
Install = { WantedBy = [ "graphical-session.target" ]; };
};
# systemd.user.services.pulseaudio-dlna = {
# Unit = {
# Description =
# "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux";
# After = [ "network.target" "sound.target" ];
# };
# Service = {
# ExecStart = "${pkgs.pulseaudio-dlna}/bin/pulseaudio-dlna --port 10291";
# Environment =
# let
# toolPaths = makeBinPath [ pkgs.pulseaudio pkgs.dbus ];
# in
# [ "PATH=${toolPaths}" ];
# type = "idle";
# };
# Install = { WantedBy = [ "default.target" ]; };
# };
xdg.configFile."fish/functions/humanize_duration.fish".source =
pkgs.fetchurl {
url =
"https://raw.githubusercontent.com/fishpkg/fish-humanize-duration/master/humanize_duration.fish";
sha256 = "0abjc9dab8sx2lr28dp36vy9c4rd95badiypbkfjyvdxd9nig6zr";
};
home.sessionVariables = { BW_SESSION = cfg.bitwardenSession; };
services.mpd = {
@ -489,10 +425,25 @@ let
fonts.fontconfig.enable = true;
home.packages = with pkgs;
let
steam = pkgs.steam.override { withJava = true; };
steam-run = steam.run;
newwine = (pkgs.wineFull.override { wineBuild = "wineWow"; wineRelease = "staging"; });
newwinetricks = pkgs.winetricks.override { wine = newwine; };
oldwine = pkgs.wineWowPackages.full;
oldwinetricks = pkgs.winetricks.override { wine = oldwine; };
in
[
xlibs.xf86inputjoystick
oldwine
oldwinetricks
flameshot
# needed for fish done stuff
jq
ezDrv
@ -502,35 +453,47 @@ let
kitty
pavucontrol
mpv
youtube-dl
yt-dlp
xorg.xkill
maim
slop
ark
gwenview
notify-osd
libnotify
ffmpeg
id3v2
imagemagick
gimp
mumble
libreoffice
mpc_cli
nix-index
]
++ (
if cfg.developer then [
openvpn
gitAndTools.hub
morph
nmap
nixpkgs-fmt
] else
[ ]
);
] ++ (lib.optionals cfg.developer [
openvpn
gitAndTools.hub
nmap
nixpkgs-fmt
]) ++ (lib.optionals cfg.gaming [
xlibs.xf86inputjoystick
oldwine
oldwinetricks
]) ++ (lib.optionals (cfg.gaming && !cfg.flatSteam) [
steam
steam-run
(writeScriptBin "steam-run-native" ''
#!${pkgs.stdenv.shell}
${(steam.override { nativeOnly = true; }).run}/bin/steam-run $@
'')
]) ++ (lib.optionals (cfg.gaming && cfg.newWine) [
(
pkgs.runCommand "new-wine-stuff"
{ } ''
mkdir -p $out/bin
ln -s ${newwine}/bin/wine $out/bin/new-wine
ln -s ${newwine}/bin/winecfg $out/bin/new-winecfg
ln -s ${newwinetricks}/bin/winetricks $out/bin/new-winetricks
''
)
]);
programs.rofi = {
enable = true;
@ -557,7 +520,7 @@ let
({
modules-left = [ "sway/workspaces" "sway/mode" ];
modules-center = [ "clock" "mpd" ];
modules-right = (if cfg.battery then [ "battery" ] else [ ])
modules-right = (lib.optional cfg.battery "battery")
++ [ "pulseaudio" "network" "memory" "cpu" "temperature" "tray" ];
position = "left";
width = 50;
@ -698,10 +661,7 @@ let
pkgs.swayidle
xwayland
rxvt_unicode
dmenu
libappindicator-gtk3
xdg-desktop-portal
xdg-desktop-portal-wlr
];
};
xConfig =
@ -802,15 +762,7 @@ let
vSync = true;
#refreshRate = 144;
blur = true;
package = pkgs.picom.overrideAttrs (
_: {
src = builtins.fetchGit {
url = "https://github.com/ibhagwan/picom";
ref = "next-rebase";
rev = "6d87428f78a46bea295e0a21d23c4b56133aadc3";
};
}
);
package = pkgs.picom;
experimentalBackends = true;
blurExclude = [
"window_type = 'dock'"
@ -851,6 +803,18 @@ in
options.ezpcusr = {
enable = mkEnableOption "Enable simple PC user config";
newWine = mkOption {
type = types.bool;
default = false;
description = "If you want to include wine-staging as new-wine";
};
flatSteam = mkOption {
type = types.bool;
default = false;
description = "If you use the flatpak Steam instead of NixOS";
};
wayland = mkOption {
default = true;
description = "Enable wayland config (disabling this is experimental)";
@ -969,12 +933,6 @@ in
default = false;
description = "If this PC has a battery";
};
tiling = mkOption {
type = types.bool;
default = true;
description = "If you are based and redpilled, and want a tiling WM (deprecated)";
};
};
config = mkIf cfg.enable (

View file

@ -115,7 +115,7 @@ in
pname = "firenvim";
src = inputs.firenvim;
# yes im stupid
version = builtins.readFile (pkgs.runCommandNoCC "firenvim-version" {} ''
version = builtins.readFile (pkgs.runCommandNoCC "firenvim-version" { } ''
${pkgs.jq}/bin/jq -j .version < ${inputs.firenvim}/package.json > $out
'');
})