Compare commits

...

2 commits

Author SHA1 Message Date
Jo
6690edd3a4 Keep empty pkgs directory to pass validation
Some checks are pending
Trufflehog: check for exposed secrets / Run trufflehog (push) Waiting to run
Nix: check for unused code / Run deadnix (push) Waiting to run
Nix: validate flake / Validate x86_64-linux (push) Waiting to run
2025-08-27 00:22:48 +02:00
Jo
6c0cc52a3c Add custom packages support through pkgs directory 2025-08-27 00:19:31 +02:00
11 changed files with 46 additions and 32 deletions

View file

@ -15,5 +15,6 @@ in
@import "onebar/onebar.css";
'';
home.file.".mozilla/firefox/default/chrome/onebar/onebar.css".source = ./onebar.css;
home.file.".mozilla/firefox/default/chrome/onebar/onebar.css".source =
mkIf config.programs.firefox.enable ./onebar.css;
}

View file

@ -1,6 +0,0 @@
/* frappe */
@import url("https://youtubemusic.catppuccin.com/src/frappe.css");
html:not(.style-scope) {
--ctp-accent: var(--ctp-blue) !important;
}

View file

@ -1,6 +0,0 @@
/* latte */
@import url("https://youtubemusic.catppuccin.com/src/latte.css");
html:not(.style-scope) {
--ctp-accent: var(--ctp-blue) !important;
}

View file

@ -1,6 +0,0 @@
/* macchiato */
@import url("https://youtubemusic.catppuccin.com/src/macchiato.css");
html:not(.style-scope) {
--ctp-accent: var(--ctp-blue) !important;
}

View file

@ -1,6 +0,0 @@
/* mocha */
@import url("https://youtubemusic.catppuccin.com/src/mocha.css");
html:not(.style-scope) {
--ctp-accent: var(--ctp-blue) !important;
}

View file

@ -1,6 +0,0 @@
{
...
}:
{
}

View file

@ -7,7 +7,6 @@
imports = [
./apps/discord
./apps/firefox
./apps/youtube-music
];
puzzlevision = {
@ -34,6 +33,10 @@
path = "${config.home.homeDirectory}/.wakatime.cfg";
};
programs.git = {
enable = true;
};
home.packages = with pkgs; [
## GENERAL
ghostty
@ -53,6 +56,7 @@
## RUNTIMES and CLIs for development
bun
git
git-credential-oauth
attic-client
];

View file

@ -5,5 +5,8 @@
# Automagically imports systems from "/systems/arch-classname/system-name".
./systems.nix
# Automagically import custom packages defined in "/pkgs/pkg-name/default.nix"
./packages.nix
];
}

View file

@ -26,6 +26,18 @@ let
else
[ ];
filesystemEntityToPackage =
directory: pkgs: pkgArgs: name: type:
if type == "directory" then
dirToPkgAttrSet "${directory}/${name}" pkgs pkgArgs
else if name == "default.nix" then
{
${builtins.unsafeDiscardStringContext (builtins.baseNameOf directory)} =
pkgs.callPackage "${directory}/${name}" pkgArgs;
}
else
{ };
dirToModuleList =
directory:
let
@ -50,12 +62,25 @@ let
acc // (filesystemEntityToAttrSet directory importArgs name (builtins.getAttr name readDir))
) { } (builtins.attrNames readDir);
dirToPkgAttrSet =
directory: pkgs: pkgArgs:
let
# Read provided directory only once at the very start and save the result.
readDir = readDirectory directory;
in
builtins.foldl' (
acc: name:
acc // (filesystemEntityToPackage directory pkgs pkgArgs name (builtins.getAttr name readDir))
) { } (builtins.attrNames readDir);
puzzlelib = dirToAttrSet ../../lib { inherit lib self; } // {
inherit
dirToAttrSet
dirToPkgAttrSet
dirToModuleList
filesystemEntityToList
filesystemEntityToAttrSet
filesystemEntityToPackage
;
};
in

View file

@ -0,0 +1,11 @@
{
self,
...
}:
{
perSystem =
{ pkgs, ... }:
{
packages = self.lib.dirToPkgAttrSet ../../pkgs pkgs { };
};
}

0
pkgs/.gitkeep Normal file
View file