nix refators and additions

This commit is contained in:
LordMZTE 2024-06-17 21:17:17 +02:00
parent e4a38ac2e5
commit cf913c62a0
Signed by: LordMZTE
GPG key ID: B64802DC33A64FF6
13 changed files with 127 additions and 18 deletions

View file

@ -1,5 +1,7 @@
;<! tmpl:setPostProcessor(opt.fennelToJSON) !> ;<! tmpl:setPostProcessor(opt.fennelToJSON) !>
;; vim: ft=fennel ;; vim: ft=fennel
(local format-icons ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"])
{:spacing 4 {:spacing 4
:layer :top :layer :top
;<! if opt.wayland_compositor == "river" then !> ;<! if opt.wayland_compositor == "river" then !>
@ -8,6 +10,7 @@
:modules-left [:hyprland/workspaces :hyprland/window] :modules-left [:hyprland/workspaces :hyprland/window]
;<! end !> ;<! end !>
:modules-right [:mpris :modules-right [:mpris
:cava
:cpu :cpu
:memory :memory
:pulseaudio :pulseaudio
@ -16,6 +19,11 @@
:battery :battery
:clock :clock
:tray] :tray]
:cava {:hide_on_silence true
:bars 16
:bar_delimiter 0
:method :pipewire
: format-icons}
:mpris {:format "{status_icon} {dynamic}" :mpris {:format "{status_icon} {dynamic}"
:interval 5 :interval 5
:dynamic-order [:title :artist :position :length] :dynamic-order [:title :artist :position :length]
@ -29,8 +37,8 @@
:format-alt "{:%Y-%m-%d}"} :format-alt "{:%Y-%m-%d}"}
:cpu {:format (.. (faccumulate [s "" i 0 (- (cg.opt.system :nproc) 1)] :cpu {:format (.. (faccumulate [s "" i 0 (- (cg.opt.system :nproc) 1)]
(.. s "{icon" i "}")) " {usage}% ") (.. s "{icon" i "}")) " {usage}% ")
:format-icons ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"] :interval 2
:interval 2} : format-icons}
:memory {:format "{}% "} :memory {:format "{}% "}
:temperature {:hwmon-path "<% opt.cpu_temp_hwmon %>" :temperature {:hwmon-path "<% opt.cpu_temp_hwmon %>"
:critical-threshold 80 :critical-threshold 80

View file

@ -77,6 +77,17 @@ window#waybar.PCSX2 #window {
background: @teal; background: @teal;
} }
#cava {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
transition: none;
color: @sapphire;
background: @surface0;
}
#mpris { #mpris {
margin-top: 8px; margin-top: 8px;
margin-left: 8px; margin-left: 8px;

View file

@ -5,6 +5,9 @@ Host aur.archlinux.org
Host github.com Host github.com
UpdateHostKeys yes UpdateHostKeys yes
Host mzte.de
Port 22004
Host * Host *
HostKeyAlgorithms=+ssh-rsa HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa

View file

@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1718160348, "lastModified": 1718318537,
"narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", "narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "57d6973abba7ea108bac64ae7629e7431e0199b6", "rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -16,9 +16,11 @@
common = base-pkgs.callPackage ./lib/common-nix { }; common = base-pkgs.callPackage ./lib/common-nix { };
root-mod = { config, pkgs, ... }: { root-mod = { config, pkgs, ... }: {
options.packages = nixpkgs.lib.mkOption { }; options.nixpkgs.overlays = nixpkgs.lib.mkOption { default = [ ]; };
options.dev-shells = nixpkgs.lib.mkOption { }; options.output = nixpkgs.lib.mkOption {
options.nixpkgs.overlays = nixpkgs.lib.mkOption { default = []; }; default = { };
type = with nixpkgs.lib.types; attrsOf anything;
};
config._module.args = rec { config._module.args = rec {
pkgs = base-pkgs.appendOverlays config.nixpkgs.overlays; pkgs = base-pkgs.appendOverlays config.nixpkgs.overlays;
@ -28,7 +30,7 @@
}; };
# devshell for the dotfiles # devshell for the dotfiles
config.dev-shells.default = nixpkgs.legacyPackages.${system}.mkShell { config.output.devShells.default = nixpkgs.legacyPackages.${system}.mkShell {
buildInputs = with pkgs; buildInputs = with pkgs;
[ [
# packages required to build scripts # packages required to build scripts
@ -57,6 +59,10 @@
"run-confgen" "run-confgen"
]; ];
}; };
config.output.mzteinit = base-pkgs.callPackage ./scripts/mzteinit/package.nix { };
config.output.overlay = final: prev: config.output.packages;
}; };
modopt = nixpkgs.lib.evalModules { modopt = nixpkgs.lib.evalModules {
@ -64,10 +70,7 @@
specialArgs = { inherit common; }; specialArgs = { inherit common; };
}; };
in in
{ modopt.config.output // {
config = modopt; config = modopt;
mzteinit = base-pkgs.callPackage ./scripts/mzteinit/package.nix { };
packages = modopt.config.packages;
devShells = modopt.config.dev-shells;
}); });
} }

View file

@ -20,7 +20,7 @@ in
config.cgnix.entries."fennel.lua" = "${pkgs.luajitPackages.fennel}/share/lua/5.1/fennel.lua"; config.cgnix.entries."fennel.lua" = "${pkgs.luajitPackages.fennel}/share/lua/5.1/fennel.lua";
config.packages.cgnix = pkgs.writeTextFile { config.output.packages.cgnix = pkgs.writeTextFile {
name = "nix.lua"; name = "nix.lua";
text = '' text = ''
return { return {

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./cgnix ./cgnix
./pkgs
./jdtls-bundles.nix ./jdtls-bundles.nix
./mcdev.nix ./mcdev.nix
./mzte-nix.nix ./mzte-nix.nix

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
config.packages.jdtls-bundles = pkgs.linkFarm "jdtls-bundles" [ output.packages.jdtls-bundles = pkgs.linkFarm "jdtls-bundles" [
{ {
name = "java-debug.jar"; name = "java-debug.jar";
path = pkgs.fetchurl { path = pkgs.fetchurl {

View file

@ -19,7 +19,7 @@ let
]; ];
in in
{ {
dev-shells = builtins.mapAttrs output.devShells = builtins.mapAttrs
(_: extra-pkgs: (_: extra-pkgs:
let let
shpgks = libs ++ xorg-libs ++ extra-pkgs; shpgks = libs ++ xorg-libs ++ extra-pkgs;

View file

@ -45,7 +45,7 @@ in
(flakePkg "github:zhaofengli/attic") (flakePkg "github:zhaofengli/attic")
]; ];
config.packages.mzte-nix = pkgs.symlinkJoin { config.output.packages.mzte-nix = pkgs.symlinkJoin {
name = "mzte-nix"; name = "mzte-nix";
paths = lib.concatMap (p: map (o: p.${o}) p.outputs) config.mzte-nix-packages; paths = lib.concatMap (p: map (o: p.${o}) p.outputs) config.mzte-nix-packages;
}; };

View file

@ -40,7 +40,7 @@
}) })
]; ];
config.packages.nushell-plugins = config.output.packages.nushell-plugins =
let let
pluginName = d: lib.removePrefix "nu-plugin-" d.name; pluginName = d: lib.removePrefix "nu-plugin-" d.name;
in in

6
nix/pkgs/default.nix Normal file
View file

@ -0,0 +1,6 @@
{ ... }:
{
imports = [
./thumbnailers.nix
];
}

77
nix/pkgs/thumbnailers.nix Normal file
View file

@ -0,0 +1,77 @@
# A collection of tumbler-compatible thumbnailer scripts for:
# - Text
# - OpenSCAD and STL models
{ pkgs, ... }:
let
mkThumbnailerEntry = { name, mime, exec }: pkgs.writeTextDir
"share/thumbnailers/${name}.thumbnailer"
''
[Thumbnailer Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=${name}
MimeType=${mime}
Exec=${exec}
'';
in
{
# See https://docs.xfce.org/xfce/tumbler/available_plugins#customized_thumbnailer_for_text-based_documents
output.packages.mzte-thumbnailer-text =
let
textthumb = pkgs.writeShellScript "textthumb" ''
iFile=$(<"$1")
tempFile=$(mktemp) && {
echo "''${iFile:0:1600}" > "$tempFile"
${pkgs.imagemagick}/bin/convert \
-size 210x290 \
-background white \
-pointsize 5 \
-border 10x10 \
-bordercolor "#CCC" \
-font ${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf \
caption:@"$tempFile" \
"$2"
rm "$tempFile"
}
'';
in
mkThumbnailerEntry {
name = "mzte-thumbnailer-text";
mime = "text/plain;text/x-log;text/html;text/css;";
exec = "${textthumb} %i %o";
};
output.packages.mzte-thumbnailer-openscad =
let
scadthumb = pkgs.writeShellScript "scadthumb" ''
${pkgs.openscad-unstable}/bin/openscad --imgsize "500,500" -o "$2" "$1" 2>/dev/null
'';
in
mkThumbnailerEntry {
name = "mzte-thumbnailer-openscad";
mime = "application/x-openscad;";
exec = "${scadthumb} %i %o";
};
# See: https://docs.xfce.org/xfce/tumbler/available_plugins#customized_thumbnailer_for_stl_content
output.packages.mzte-thumbnailer-stl =
let
stlthumb = pkgs.writeShellScript "stlthumb" ''
if TEMP=$(mktemp --directory --tmpdir tumbler-stl-XXXXXX); then
cp "$1" "$TEMP/source.stl"
echo 'import("source.stl", convexity=10);' > "$TEMP/thumbnail.scad"
${pkgs.openscad-unstable}/bin/openscad --imgsize "500,500" -o "$2" "$TEMP/thumbnail.scad" 2>/dev/null
rm -rf $TEMP
fi
'';
in
mkThumbnailerEntry {
name = "mzte-thumbnailer-stl";
mime = "model/stl;";
exec = "${stlthumb} %i %o";
};
}