Compare commits

...

7 commits

Author SHA1 Message Date
6de469a365 flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland/?ref=refs/heads/main&rev=ea728315410e220d73a993f17c83ae9dc9be9015' (2024-08-07)
  → 'git+https://github.com/hyprwm/Hyprland/?ref=refs/heads/main&rev=4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7' (2024-08-08)
• Updated input 'lix':
    'ec7552ff74.tar.gz?narHash=sha256-fn8r4zVTCfLo1ruMbmzDB08N2giu3zWw/na2Jn/X6GQ%3D' (2024-08-07)
  → 'e03cd8b3a6.tar.gz?narHash=sha256-WRt4kYvg6cpnatF5zUCIUeurU67M7b4dk3oYdZ0cu9M%3D' (2024-08-08)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/f373ad59ae5866f0f98216bd5c71526b373450d2' (2024-07-29)
  → 'github:nix-community/NixOS-WSL/be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690' (2024-08-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2a13929e1f191b3690dd2f2db13098b04adb9043' (2024-08-06)
  → 'github:nixos/nixpkgs/f5129fb42b9c262318130a97b47516946da3e7d7' (2024-08-07)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/5acf5ce79d80e23a2426b8a553a4d4b5996fef46' (2024-08-07)
  → 'github:nix-community/nixpkgs-wayland/b412353cee03010813974408d5ae63f7422b176d' (2024-08-08)
• Updated input 'zig2nix':
    'github:Cloudef/zig2nix/5a0307b91ad2cd6c60fd5817b6a88108e254730a' (2024-08-07)
  → 'github:Cloudef/zig2nix/7320da37a4d45afb0aa94d22861a0fe07152c038' (2024-08-08)
2024-08-08 19:04:01 +00:00
52fb1204d6
fix eval errors in checks 2024-08-08 13:54:09 -05:00
1f1cf3a6be
add llm package + plugins 2024-08-08 13:53:51 -05:00
8aade59df9
noop changes 2024-08-08 11:58:30 -05:00
198250d7e8
add qtwayland for some reason 2024-08-08 10:34:15 -05:00
08963267d5
explicitly use kdepackage 2024-08-07 17:17:44 -05:00
18f89b41a8
add scanner module 2024-08-07 15:29:42 -05:00
12 changed files with 175 additions and 54 deletions

View file

@ -341,11 +341,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1723043089,
"narHash": "sha256-b01LQD32/xakBOFxabj8Mtz37ekvFwrM74VKNssUnko=",
"lastModified": 1723143710,
"narHash": "sha256-qbjodK+UgnQ2YdtKmuI1XEG84SZlid39rQo6Ap9NTqI=",
"ref": "refs/heads/main",
"rev": "ea728315410e220d73a993f17c83ae9dc9be9015",
"revCount": 5067,
"rev": "4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7",
"revCount": 5071,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland/"
@ -534,11 +534,11 @@
"lix": {
"flake": false,
"locked": {
"lastModified": 1723036070,
"narHash": "sha256-fn8r4zVTCfLo1ruMbmzDB08N2giu3zWw/na2Jn/X6GQ=",
"rev": "ec7552ff7411592305d28ec4bfcb4ea55866ab36",
"lastModified": 1723140921,
"narHash": "sha256-WRt4kYvg6cpnatF5zUCIUeurU67M7b4dk3oYdZ0cu9M=",
"rev": "e03cd8b3a6f70c60f359fd683c2b25f8eba4da0d",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ec7552ff7411592305d28ec4bfcb4ea55866ab36.tar.gz"
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/e03cd8b3a6f70c60f359fd683c2b25f8eba4da0d.tar.gz"
},
"original": {
"type": "tarball",
@ -663,11 +663,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1722253092,
"narHash": "sha256-37vyqHPx57deHhwvi4jwyNQLYkhm/rlVTYKOG1iahsc=",
"lastModified": 1723124175,
"narHash": "sha256-w+rlZdbj4kn70uPJl4WrPDFoGEy0A9oJqw684nvZ9dY=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "f373ad59ae5866f0f98216bd5c71526b373450d2",
"rev": "be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690",
"type": "github"
},
"original": {
@ -715,11 +715,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1723043911,
"narHash": "sha256-JAYd5Tq1AmrGK9MBup+WK6dq3rIvkpUHFAgBJ3d8irY=",
"lastModified": 1723137378,
"narHash": "sha256-+MkYW9iZwi0D0hLeS5S1Ov3VNJ3twdTlHW7dRKeiCBY=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "5acf5ce79d80e23a2426b8a553a4d4b5996fef46",
"rev": "b412353cee03010813974408d5ae63f7422b176d",
"type": "github"
},
"original": {
@ -762,11 +762,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1722957468,
"narHash": "sha256-SQ0TCC4aklOhN/OzcztrKqDLY8SjpIZcyvTulzhDXs0=",
"lastModified": 1723019560,
"narHash": "sha256-O/kxmybNecC3Efr6ITOdtCzFv90/B2Iiedavj5aRWt0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2a13929e1f191b3690dd2f2db13098b04adb9043",
"rev": "f5129fb42b9c262318130a97b47516946da3e7d7",
"type": "github"
},
"original": {
@ -1156,11 +1156,11 @@
]
},
"locked": {
"lastModified": 1722993798,
"narHash": "sha256-cXzpRh+nUTBqo4mU+jzG4otZcpTfo29DC0apTmH2gtU=",
"lastModified": 1723080195,
"narHash": "sha256-0g2ljOHZZtEZZG9GKusKiNx1+VKm+MEKzCOL2KdkLRg=",
"owner": "Cloudef",
"repo": "zig2nix",
"rev": "5a0307b91ad2cd6c60fd5817b6a88108e254730a",
"rev": "7320da37a4d45afb0aa94d22861a0fe07152c038",
"type": "github"
},
"original": {

View file

@ -1,4 +1,4 @@
{ enabled, ... }:
{ enabled, config, ... }:
{
oizys = {
vpn = enabled;
@ -11,6 +11,7 @@
};
vbox = enabled;
backups = enabled;
hp-scanner = enabled;
languages = [
"misc"
"nim"
@ -21,6 +22,7 @@
"tex"
"zig"
];
llm = enabled;
};
services.restic.backups.gdrive = {
@ -33,5 +35,5 @@
];
};
users.users.daylin.extraGroups = [ "audio" ];
users.users.${config.oizys.user}.extraGroups = [ "audio" ];
}

View file

@ -7,13 +7,6 @@
};
services.printing = enabled;
hardware.sane = enabled // {
extraBackends = [ pkgs.hplipWithPlugin ];
};
users.users.daylin.extraGroups = [
"scanner"
"lp"
];
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/lenovo/thinkpad/x1/9th-gen/default.nix
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/common/pc/ssd/default.nix

View file

@ -10,12 +10,22 @@ let
flake = flakeFromSystem system;
pkgs = import inputs.nixpkgs {
inherit system;
overlays = map [
"lix-module"
"hyprland-contrib"
"nixpkgs-wayland"
] flake.overlay;
overlays = [
(flake.overlay "lix-module")
(flake.overlay "hyprland-contrib")
(flake.overlay "nixpkgs-wayland")
];
};
myPackages = map [
"tsm"
"hyprman"
"zls"
] flake.pkg;
hyprPackages = with (flake.pkgs "hyprland"); [
default
xdg-desktop-portal-hyprland
];
in
{
makePackages =
@ -23,24 +33,18 @@ in
{
src = ./.;
nativeBuildInputs =
[
pkgs.pixi
pkgs.swww
pkgs.nixVersions.stable
]
++ (map [
"tsm"
"hyprman"
"zls"
] flake.pkg)
++ (with flake.pkgs "hyprland"; [
default
xdg-desktop-portal-hyprland
(with pkgs; [
pixi
swww
nixVersions.stable
])
++ [
(flake.pkgs "roc").full
(flake.pkgs "zig2nix").zig.master.bin
];
]
++ myPackages
++ hyprPackages;
}
''
mkdir "$out"

View file

@ -47,6 +47,9 @@ mkOizysModule config "hyprland" {
swww
catppuccin-cursors.mochaDark
# not even clear why I need to add this but ¯\_(ツ)_/¯
kdePackages.qtwayland
])
++ [ (flake.pkg "hyprman") ]

24
modules/llm/default.nix Normal file
View file

@ -0,0 +1,24 @@
{
pkgs,
config,
enabled,
mkOizysModule,
...
}:
let
inherit (pkgs) python3Packages;
llm-ollama = python3Packages.callPackage ../../pkgs/llm-plugins/llm-ollama { };
llm-claude3 = python3Packages.callPackage ../../pkgs/llm-plugins/llm-claude-3 { };
llm = (
pkgs.llm.withPlugins [
llm-ollama
llm-claude3
]
);
in
mkOizysModule config "llm" {
services.ollama = enabled;
environment.systemPackages = [ llm ];
}

View file

@ -28,6 +28,7 @@ in
gui
fonts
hp-scanner
languages
@ -37,6 +38,8 @@ in
nix-ld
restic
llm
];
options.oizys = {

View file

@ -25,6 +25,7 @@ let
kind ? "braille",
}:
"[1;3${number}m\n" + runes.${name}.${kind} + "\n";
cfg = config.oizys.rune;
in
{

View file

@ -20,7 +20,7 @@ def convert [] {
}
}
def nix [] {
def nix-file [] {
let rune = $in | convert
$"{
braille = ''
@ -34,8 +34,7 @@ ascii = ''
}
def col [] {
$in
| reduce --fold "" {|it, acc|
$in | reduce --fold "" {|it, acc|
$acc + $'<td><img src="($it.url)"></td>'
}
}
@ -45,7 +44,7 @@ def row [] { $"<tr>($in)</tr>" }
def readme [] {
let runes = $in
let dims = { rows: 2 cols: 2 }
let cells = ($runes | chunks $dims.rows | each { $in | col | row})
let cells = ($runes | chunks $dims.rows | each { col | row})
let table = [ "<table>" ...$cells "</table>" ] | str join
$"# Runes\n\n($table)\n"
@ -56,7 +55,7 @@ $runes
| save -f "README.md"
$runes
| each {|rune| $rune | nix }
| each { nix-file }
print "don't forget to run `nix fmt`!"
nix fmt

View file

@ -0,0 +1,25 @@
{
enabled,
config,
pkgs,
mkOizysModule,
...
}:
mkOizysModule config "hp-scanner" {
environment.systemPackages = [ pkgs.kdePackages.skanpage ];
hardware.sane = enabled // {
extraBackends = [ pkgs.hplipWithPlugin ];
};
services.avahi = enabled // {
nssmdns4 = true;
};
users.users.${config.oizys.user}.extraGroups = [
"scanner"
"lp"
];
}

View file

@ -0,0 +1,34 @@
{
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
wheel,
# deps
anthropic,
...
}:
buildPythonPackage rec {
pname = "llm-claude-3";
version = "0.4";
pyproject = true;
src = fetchFromGitHub {
owner = "simonw";
repo = "llm-claude-3";
rev = version;
hash = "sha256-5qF5BK319PNzB4XsLdYvtyq/SxBDdHJ9IoKWEnvNRp4=";
};
nativeBuildInputs = [
setuptools
wheel
];
dependencies = [ anthropic ];
dontCheckRuntimeDeps = true;
}

View file

@ -0,0 +1,33 @@
{
buildPythonPackage,
fetchPypi,
# build-system
setuptools,
# deps
ollama,
pydantic,
...
}:
buildPythonPackage rec {
pname = "llm-ollama";
version = "0.5.0";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "llm_ollama";
hash = "sha256-M3FF9fAZ2rr+toKoz/rLRPZxB7LIHqmZQXJBdKR4fVk=";
};
dependencies = [
ollama
pydantic
];
build-system = [ setuptools ];
# will only be used in environment with llm installed
dontCheckRuntimeDeps = true;
}