added
This commit is contained in:
parent
008d5c15c0
commit
849cae10fa
8 changed files with 135 additions and 8 deletions
|
|
@ -4,6 +4,12 @@ My config for Hyprland desktop that I normally use as my daily driver (read: all
|
|||
|
||||
## Useful commands
|
||||
|
||||
if you're curious what's currently available you can run:
|
||||
|
||||
```bash
|
||||
nix flake show github:alsaiduq-lab/nix-dotfiles
|
||||
```
|
||||
|
||||
list generations
|
||||
|
||||
```bash
|
||||
|
|
|
|||
25
flake.nix
25
flake.nix
|
|
@ -13,6 +13,10 @@
|
|||
url = "github:fufexan/nix-gaming";
|
||||
};
|
||||
|
||||
nix-monitor = {
|
||||
url = "github:antonjah/nix-monitor";
|
||||
};
|
||||
|
||||
proton-cachyos = {
|
||||
url = "github:Arsalan2356/proton-cachyos-flake";
|
||||
};
|
||||
|
|
@ -39,6 +43,7 @@
|
|||
dankMaterialShell = {
|
||||
url = "github:AvengeMedia/DankMaterialShell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.quickshell.follows = "quickshell";
|
||||
};
|
||||
|
||||
nvim-dots = {
|
||||
|
|
@ -68,7 +73,11 @@
|
|||
};
|
||||
|
||||
nixcord = {
|
||||
url = "github:FlameFlag/nixcord";
|
||||
url = "github:kaylorben/nixcord";
|
||||
};
|
||||
|
||||
dw-proton = {
|
||||
url = "github:Momoyaan/dwproton-flake";
|
||||
};
|
||||
|
||||
disko = {
|
||||
|
|
@ -105,6 +114,7 @@
|
|||
disko,
|
||||
nix-index-database,
|
||||
aagl,
|
||||
dw-proton,
|
||||
#sops-nix,
|
||||
...
|
||||
} @ inputs: let
|
||||
|
|
@ -126,6 +136,7 @@
|
|||
rpcs3
|
||||
clear-sans
|
||||
binary-font
|
||||
dms-plugins
|
||||
;
|
||||
};
|
||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||
|
|
@ -145,18 +156,19 @@
|
|||
hostPlatform = system;
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
quickshell = inputs.quickshell.packages.${system}.default;
|
||||
quickshell = inputs.quickshell.packages.${system}.default.withModules [final.qt6Packages.qtwebsockets];
|
||||
ghostty = inputs.ghostty.packages.${system}.default;
|
||||
hu-tao-animated-cursor = inputs.hu-tao-cursor.packages.${system}.default;
|
||||
grim-hyprland = inputs.grim-hyprland.packages.${system}.default;
|
||||
dms-shell = inputs.dankMaterialShell.packages.${system}.default;
|
||||
pinix = inputs.pinix.packages.${system}.default;
|
||||
wine-cachyos = inputs.nix-gaming.packages.${system}.wine-cachyos;
|
||||
wine-tkg = inputs.nix-gaming.packages.${system}.wine-tkg;
|
||||
proton-cachyos = inputs.proton-cachyos.packages.${system}.proton-cachyos;
|
||||
desktop-gremlin = inputs.linux-desktop-gremlin.packages.${system}.default;
|
||||
ipc-bridge = inputs.nix-gaming.packages.${system}.wine-discord-ipc-bridge;
|
||||
dgop = unstablePkgs.dgop;
|
||||
hyprland = inputs.hyprland.packages.${system}.default;
|
||||
dw-proton = inputs.dw-proton.packages.${system}.default;
|
||||
})
|
||||
(final: prev: {
|
||||
inherit
|
||||
|
|
@ -166,13 +178,9 @@
|
|||
minijinja-cli
|
||||
thorium
|
||||
rpcs3
|
||||
dms-plugins
|
||||
;
|
||||
})
|
||||
|
||||
(final: prev: {
|
||||
clear-sans = prev.clear-sans.clear-sans;
|
||||
binary-font = prev.binary-font.binary-clock-font;
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -190,6 +198,7 @@
|
|||
};
|
||||
sharedModules = [
|
||||
inputs.nixcord.homeModules.nixcord
|
||||
inputs.nix-monitor.homeManagerModules.default
|
||||
];
|
||||
users.cobray = import ./home-manager/cobray.nix;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -16,6 +16,38 @@
|
|||
enableAudioWavelength = true;
|
||||
enableCalendarEvents = true;
|
||||
enableClipboardPaste = true;
|
||||
|
||||
plugins = {
|
||||
lyricsOnPanel = {
|
||||
src = "${pkgs.dms-plugins.lyrics-on-panel}/plugin";
|
||||
};
|
||||
};
|
||||
|
||||
quickshell.package = pkgs.quickshell;
|
||||
};
|
||||
|
||||
programs.nix-monitor = {
|
||||
enable = true;
|
||||
rebuildCommand = [
|
||||
"bash"
|
||||
"-c"
|
||||
"cd ~/nix && nix flake update && sudo pixos-rebuild switch --flake ~/nix 2>&1"
|
||||
];
|
||||
gcCommand = [
|
||||
"bash"
|
||||
"-c"
|
||||
"sudo pix-collect-garbage -d 2>&1"
|
||||
];
|
||||
generationsCommand = ["bash" "-c" "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | wc -l"];
|
||||
updateInterval = 1800;
|
||||
localRevisionCommand = ["bash" "-c" "echo 0"];
|
||||
remoteRevisionCommand = [
|
||||
"${pkgs.bash}/bin/bash"
|
||||
"-l"
|
||||
"-c"
|
||||
"${pkgs.curl}/bin/curl -s https://api.github.com/repos/NixOS/nixpkgs/git/ref/heads/nixos-25.11 2>/dev/null | ${pkgs.jq}/bin/jq -r '.object.sha' 2>/dev/null | cut -c 1-7 || echo 'N/A'"
|
||||
];
|
||||
nixpkgsChannel = "nixos-25.11";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
@ -25,5 +57,22 @@
|
|||
cliphist
|
||||
kdePackages.dolphin
|
||||
];
|
||||
|
||||
home.sessionPath = ["${pkgs.quickshell}/bin"];
|
||||
|
||||
systemd.user.services.lyrics-on-panel = {
|
||||
Unit = {
|
||||
Description = "Lyrics-on-Panel MPRIS2 Backend";
|
||||
After = ["graphical-session.target"];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.dms-plugins.lyrics-on-panel}/bin/lyrics-on-panel-backend";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,11 @@
|
|||
security.sudo = {
|
||||
enable = true;
|
||||
wheelNeedsPassword = true;
|
||||
extraConfig = ''
|
||||
${config.theme.user} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/pixos-rebuild
|
||||
${config.theme.user} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/pix-collect-garbage
|
||||
${config.theme.user} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nix-env
|
||||
'';
|
||||
};
|
||||
|
||||
programs."${config.theme.Shell}".enable = true;
|
||||
|
|
|
|||
3
pkgs/README.md
Normal file
3
pkgs/README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
## random assorted stuff
|
||||
|
||||
aka stuff that needs to be built for nix (or different flags)
|
||||
|
|
@ -7,4 +7,7 @@
|
|||
minijinja-cli = pkgs.callPackage ./minijinja-cli {};
|
||||
thorium = pkgs.callPackage ./thorium {};
|
||||
rpcs3 = pkgs.callPackage ./rpcs3 {};
|
||||
dms-plugins = {
|
||||
lyrics-on-panel = pkgs.callPackage ./dms-plugins/lyrics-on-panel {};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
3
pkgs/dms-plugins/default.nix
Normal file
3
pkgs/dms-plugins/default.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{pkgs}: {
|
||||
lyrics-on-panel = pkgs.callPackage ./lyrics-on-panel {};
|
||||
}
|
||||
49
pkgs/dms-plugins/lyrics-on-panel/default.nix
Normal file
49
pkgs/dms-plugins/lyrics-on-panel/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
python313,
|
||||
makeWrapper,
|
||||
}: let
|
||||
python = python313.withPackages (ps: [
|
||||
ps.websockets
|
||||
ps.dbus-python
|
||||
]);
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KangweiZhu";
|
||||
repo = "lyrics-on-panel";
|
||||
rev = "main";
|
||||
hash = "sha256-8H0BUmr7OP5Zq47yj2Uk1hKQxezO4ccs7lfApDXHoE0=";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "dms-lyrics-on-panel";
|
||||
version = "unstable";
|
||||
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [makeWrapper];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/plugin $out/bin
|
||||
cp -r dms/* $out/plugin/
|
||||
cp -r backend/src $out/backend
|
||||
|
||||
makeWrapper ${python}/bin/python $out/bin/lyrics-on-panel-backend \
|
||||
--add-flags "$out/backend/server.py"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Lyrics on Panel - DMS plugin and backend";
|
||||
homepage = "https://github.com/KangweiZhu/lyrics-on-panel";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainer = ["Cobray"];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue