mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 12:29:19 -08:00
feat: waybar nvidia
This commit is contained in:
parent
9019d65fb4
commit
32588d7074
16 changed files with 89 additions and 236 deletions
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -825,29 +825,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"moonlight": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1752617499,
|
|
||||||
"narHash": "sha256-LVXO+V182R2KmNfTJjpYx/yYk97+Kvzul7gzSM72JJM=",
|
|
||||||
"owner": "moonlight-mod",
|
|
||||||
"repo": "moonlight",
|
|
||||||
"rev": "694b353a772ee2d0be218b2158a28bf71dbdaddd",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "moonlight-mod",
|
|
||||||
"repo": "moonlight",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"naersk": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
|
|
@ -1421,7 +1398,6 @@
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"lix-module": "lix-module",
|
"lix-module": "lix-module",
|
||||||
"minecraft": "minecraft",
|
"minecraft": "minecraft",
|
||||||
"moonlight": "moonlight",
|
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"neorg-overlay": "neorg-overlay",
|
"neorg-overlay": "neorg-overlay",
|
||||||
"nh": "nh",
|
"nh": "nh",
|
||||||
|
|
|
||||||
|
|
@ -171,13 +171,6 @@
|
||||||
xwayland-satellite-stable.follows = "empty";
|
xwayland-satellite-stable.follows = "empty";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
moonlight = {
|
|
||||||
url = "github:moonlight-mod/moonlight";
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
flake-utils.follows = "flake-utils";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ in {
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
command = [
|
command = [
|
||||||
"discord"
|
"${getExe' config.programs.vesktop.package "vesktop"}"
|
||||||
"--enable-features=WaylandLinuxDrmSyncobj,UseOzonePlatform"
|
"--enable-features=WaylandLinuxDrmSyncobj,UseOzonePlatform"
|
||||||
"--ozone-platform=wayland"
|
"--ozone-platform=wayland"
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,7 @@ in {
|
||||||
};
|
};
|
||||||
workspaces = {
|
workspaces = {
|
||||||
browser = {};
|
browser = {};
|
||||||
|
mail = {};
|
||||||
chat = {};
|
chat = {};
|
||||||
vidya = {};
|
vidya = {};
|
||||||
media = {};
|
media = {};
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ _: {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mode, #custom-notification, #clock, #battery, #idle_inhibitor, #tray, #wireplumber, #bluetooth, #backlight, #mpris {
|
#mode, #custom-notification, #custom-nvidia-vram, #clock, #battery, #idle_inhibitor, #tray, #wireplumber, #bluetooth, #backlight, #mpris {
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
}
|
}
|
||||||
|
|
@ -94,6 +94,9 @@ _: {
|
||||||
font-size: 150%;
|
font-size: 150%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-nvidia-vram {
|
||||||
|
}
|
||||||
|
|
||||||
#mpris.playing {
|
#mpris.playing {
|
||||||
background-color: @base0B;
|
background-color: @base0B;
|
||||||
}
|
}
|
||||||
|
|
@ -164,7 +167,7 @@ _: {
|
||||||
"backlight"
|
"backlight"
|
||||||
"battery"
|
"battery"
|
||||||
"tray"
|
"tray"
|
||||||
#"custom/notification"
|
"custom/notification"
|
||||||
];
|
];
|
||||||
|
|
||||||
idle_inhibitor = {
|
idle_inhibitor = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.adwaita-icon-theme
|
||||||
|
];
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|
|
||||||
3
home/profiles/graphical/bitwarden.nix
Normal file
3
home/profiles/graphical/bitwarden.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = [ pkgs.bitwarden-desktop ];
|
||||||
|
}
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [
|
stylix.targets.vesktop.enable = false;
|
||||||
(discord-krisp.override {
|
programs.vesktop = {
|
||||||
withOpenASAR = true;
|
|
||||||
withMoonlight = true;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.moonlight = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
autoUpdate = false;
|
||||||
|
autoUpdateNotification = false;
|
||||||
|
notifyAboutUpdates = false;
|
||||||
|
disableMinSize = true;
|
||||||
|
plugins = {
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,6 @@
|
||||||
btop
|
btop
|
||||||
htop
|
htop
|
||||||
|
|
||||||
# Mail
|
|
||||||
thunderbird
|
|
||||||
|
|
||||||
aseprite
|
aseprite
|
||||||
# Chat
|
# Chat
|
||||||
tdesktop # Telegram
|
tdesktop # Telegram
|
||||||
|
|
|
||||||
36
home/profiles/graphical/thunderbird.nix
Normal file
36
home/profiles/graphical/thunderbird.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
_: {
|
||||||
|
programs.thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
profiles.main = {
|
||||||
|
isDefault = true;
|
||||||
|
withExternalGnupg = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
accounts.email.accounts = let
|
||||||
|
katIdentity = {
|
||||||
|
realName = "Kat Inskip";
|
||||||
|
};
|
||||||
|
dorkIdentity = {
|
||||||
|
realName = "Kat Dork";
|
||||||
|
};
|
||||||
|
mainEnable.thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
profiles = [ "main" ];
|
||||||
|
};
|
||||||
|
gmailAccount = mainEnable // {
|
||||||
|
flavor = "gmail.com";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
primary = gmailAccount // katIdentity // {
|
||||||
|
primary = true;
|
||||||
|
address = "kat@inskip.me";
|
||||||
|
};
|
||||||
|
home = gmailAccount // katIdentity // {
|
||||||
|
address = "kat.inskip@gmail.com";
|
||||||
|
};
|
||||||
|
dork = gmailAccount // dorkIdentity // {
|
||||||
|
address = "dorkdev99@gmail.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
0
home/profiles/graphical/thunderbird.yaml
Normal file
0
home/profiles/graphical/thunderbird.yaml
Normal file
14
home/profiles/shell/chawan.nix
Normal file
14
home/profiles/shell/chawan.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
_: {
|
||||||
|
programs.chawan = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
buffer = {
|
||||||
|
images = true;
|
||||||
|
autofocus = true;
|
||||||
|
};
|
||||||
|
pager."C-k" = "() => pager.load('https://duckduckgo.com/?=')";
|
||||||
|
pager."C-l" = "() => pager.load('https://github.com/?=')";
|
||||||
|
pager."C-m" = "() => pager.load('https://news.ycombinator.com/?=')";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.adwaita-icon-theme
|
||||||
|
];
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
targets = {
|
targets = {
|
||||||
|
|
|
||||||
|
|
@ -1,190 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
fetchFromGitHub,
|
|
||||||
fetchurl,
|
|
||||||
rustPlatform,
|
|
||||||
cmake,
|
|
||||||
ninja,
|
|
||||||
wrapGAppsHook4,
|
|
||||||
glib-networking,
|
|
||||||
gst_all_1,
|
|
||||||
libsysprof-capture,
|
|
||||||
libayatana-appindicator,
|
|
||||||
nodejs,
|
|
||||||
openssl,
|
|
||||||
pkg-config,
|
|
||||||
yq-go,
|
|
||||||
pnpm_9,
|
|
||||||
webkitgtk_4_1,
|
|
||||||
cargo-tauri,
|
|
||||||
desktop-file-utils,
|
|
||||||
}: let
|
|
||||||
webkitgtk_4_1' = webkitgtk_4_1.override {
|
|
||||||
enableExperimental = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
shelter = fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/uwu/shelter-builds/fab6f100bd0ab8583d67f792f66722a7d2a14bd1/shelter.js";
|
|
||||||
hash = "sha256-d9vaKLrl8RYNcHnE1iGN49ov6U/Y+9XpEsio+c1Sguc=";
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/uwu/shelter";
|
|
||||||
sourceProvenance = [lib.sourceTypes.binaryBytecode]; # actually, minified JS
|
|
||||||
license = lib.licenses.cc0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
rustPlatform.buildRustPackage (finalAttrs: {
|
|
||||||
pname = "dorion";
|
|
||||||
version = "6.7.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "SpikeHD";
|
|
||||||
repo = "Dorion";
|
|
||||||
tag = "v${finalAttrs.version}";
|
|
||||||
hash = "sha256-d4G3royqhz+te5wPWVLNqqG/w0qOvTd7dKcWSzxUMUo=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoPatches = [
|
|
||||||
./no-cargo-patch.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
cargoRoot = "src-tauri";
|
|
||||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
|
||||||
cargoHash = "sha256-1xpAJkS31DjrZCY5WJ4/Z1t1ALED5gz7xYLhVR1Qzww=";
|
|
||||||
|
|
||||||
pnpmDeps = pnpm_9.fetchDeps {
|
|
||||||
inherit (finalAttrs) pname version src;
|
|
||||||
hash = "sha256-xBonUzA4+1zbViEsKap6CaG6ZRldW1LjNYIB+FmVRFs=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# CMake (webkit extension)
|
|
||||||
cmakeDir = ".";
|
|
||||||
cmakeBuildDir = "src-tauri/extension_webkit";
|
|
||||||
dontUseCmakeConfigure = true;
|
|
||||||
dontUseNinjaBuild = true;
|
|
||||||
dontUseNinjaCheck = true;
|
|
||||||
dontUseNinjaInstall = true;
|
|
||||||
# cmake's supposed to set this automatically
|
|
||||||
# ... but the detection is based on the presence of ninja build hook
|
|
||||||
cmakeFlags = [
|
|
||||||
"-GNinja"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
pnpm_9.configHook
|
|
||||||
cargo-tauri.hook
|
|
||||||
nodejs
|
|
||||||
pkg-config
|
|
||||||
wrapGAppsHook4
|
|
||||||
yq-go
|
|
||||||
desktop-file-utils
|
|
||||||
cmake
|
|
||||||
ninja
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
openssl
|
|
||||||
webkitgtk_4_1'
|
|
||||||
gst_all_1.gst-plugins-base
|
|
||||||
gst_all_1.gst-plugins-bad
|
|
||||||
gst_all_1.gst-plugins-good
|
|
||||||
gst_all_1.gst-plugins-rs
|
|
||||||
glib-networking
|
|
||||||
libsysprof-capture
|
|
||||||
libayatana-appindicator
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# remove updater
|
|
||||||
rm -rf updater
|
|
||||||
|
|
||||||
# patch cargo-deps
|
|
||||||
pushd $cargoDepsCopy/tauri-plugin-shell-*
|
|
||||||
patch -p1 < /build/source/src-tauri/patches/tauri-plugin-shell+*.patch
|
|
||||||
popd
|
|
||||||
|
|
||||||
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
|
|
||||||
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
|
|
||||||
|
|
||||||
# disable pre-build script and disable auto-updater
|
|
||||||
yq -iPo=json '
|
|
||||||
.bundle.resources = (.bundle.resources | map(select(. != "updater*")))
|
|
||||||
' src-tauri/tauri.conf.json
|
|
||||||
|
|
||||||
# link shelter injection
|
|
||||||
ln -s ${shelter} src-tauri/injection/shelter.js
|
|
||||||
|
|
||||||
# link html/frontend data
|
|
||||||
ln -s /build/source/src /build/source/src-tauri/html
|
|
||||||
'';
|
|
||||||
|
|
||||||
configurePhase = ''
|
|
||||||
cmakeConfigurePhase
|
|
||||||
pnpmConfigHook
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
ninjaBuildPhase
|
|
||||||
cd /build/source
|
|
||||||
tauriBuildHook
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# Set up the resource directories
|
|
||||||
mkdir -p $out/lib/Dorion
|
|
||||||
ln -s $out/lib/Dorion $out/lib/dorion
|
|
||||||
rm -rf $out/lib/Dorion/injection
|
|
||||||
cp -r src-tauri/injection $out/lib/Dorion
|
|
||||||
cp -r src $out/lib/Dorion
|
|
||||||
|
|
||||||
# Modify the desktop file
|
|
||||||
desktop-file-edit \
|
|
||||||
--set-comment "Tiny alternative Discord client" \
|
|
||||||
--set-key="Exec" --set-value="Dorion %U" \
|
|
||||||
--set-key="TryExec" --set-value="Dorion" \
|
|
||||||
--set-key="StartupWMClass" --set-value="Dorion" \
|
|
||||||
--set-key="StartupNotify" --set-value="true" \
|
|
||||||
--set-key="Categories" --set-value="Network;InstantMessaging;Chat;" \
|
|
||||||
--set-key="Keywords" --set-value="dorion;discord;vencord;chat;im;vc;ds;dc;dsc;tauri;" \
|
|
||||||
--set-key="Terminal" --set-value="false" \
|
|
||||||
--set-key="MimeType" --set-value="x-scheme-handler/discord" \
|
|
||||||
$out/share/applications/Dorion.desktop
|
|
||||||
'';
|
|
||||||
|
|
||||||
# error: failed to run custom build command for `Dorion v6.5.3 (/build/source/src-tauri)`
|
|
||||||
# Permission denied (os error 13)
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
env = {
|
|
||||||
TAURI_RESOURCE_DIR = "${placeholder "out"}/lib";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://spikehd.github.io/projects/dorion/";
|
|
||||||
description = "Tiny alternative Discord client";
|
|
||||||
longDescription = ''
|
|
||||||
Dorion is an alternative Discord client aimed towards lower-spec or
|
|
||||||
storage-sensitive PCs that supports themes, plugins, and more!
|
|
||||||
'';
|
|
||||||
changelog = "https://github.com/SpikeHD/Dorion/releases/tag/v${finalAttrs.version}";
|
|
||||||
downloadPage = "https://github.com/SpikeHD/Dorion/releases/tag/v${finalAttrs.version}";
|
|
||||||
license = with lib.licenses; [
|
|
||||||
gpl3Only
|
|
||||||
cc0 # Shelter
|
|
||||||
];
|
|
||||||
mainProgram = "Dorion";
|
|
||||||
maintainers = with lib.maintainers; [
|
|
||||||
nyabinary
|
|
||||||
aleksana
|
|
||||||
griffi-gh
|
|
||||||
getchoo
|
|
||||||
];
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
sourceProvenance = [
|
|
||||||
lib.sourceTypes.binaryBytecode # actually, minified JS
|
|
||||||
lib.sourceTypes.fromSource
|
|
||||||
];
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
@ -8,6 +8,7 @@ _: let
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.attrsets) nameValuePair listToAttrs;
|
inherit (lib.attrsets) nameValuePair listToAttrs;
|
||||||
|
inherit (lib.meta) getExe';
|
||||||
datasets = [
|
datasets = [
|
||||||
"root"
|
"root"
|
||||||
"nix"
|
"nix"
|
||||||
|
|
@ -96,6 +97,18 @@ _: let
|
||||||
"-model_sheet"
|
"-model_sheet"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
programs.waybar.settings.main = {
|
||||||
|
modules-center = [
|
||||||
|
"custom/nvidia-vram"
|
||||||
|
];
|
||||||
|
"custom/nvidia-vram" = {
|
||||||
|
tooltip = false;
|
||||||
|
format = "nvidia {}";
|
||||||
|
interval = 1;
|
||||||
|
exec = "${getExe' pkgs.nvidia-smi "nvidia-smi"} --query-gpu=memory.used,memory.total,pstate --format=csv,noheader,nounits";
|
||||||
|
return-type = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
niri.settings = {
|
niri.settings = {
|
||||||
outputs = {
|
outputs = {
|
||||||
"LG Electronics LG Ultra HD 0x0001AC91" = {
|
"LG Electronics LG Ultra HD 0x0001AC91" = {
|
||||||
|
|
|
||||||
1
tree.nix
1
tree.nix
|
|
@ -112,7 +112,6 @@
|
||||||
sops-nix.homeManagerModules.sops
|
sops-nix.homeManagerModules.sops
|
||||||
chaotic.homeManagerModules.default
|
chaotic.homeManagerModules.default
|
||||||
spicetify-nix.homeManagerModules.spicetify
|
spicetify-nix.homeManagerModules.spicetify
|
||||||
moonlight.homeModules.default
|
|
||||||
nix-flatpak.homeManagerModules.nix-flatpak
|
nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
zen-browser.homeModules.default
|
zen-browser.homeModules.default
|
||||||
stylix.homeModules.stylix
|
stylix.homeModules.stylix
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue