mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-25 08:30:45 -06:00
Compare commits
No commits in common. "98dc2b807b2f9fefce8052abfd9c855082343e4a" and "2e4e12f36949c1cd41ad82842293b5b76c9d9ced" have entirely different histories.
98dc2b807b
...
2e4e12f369
12 changed files with 54 additions and 178 deletions
|
@ -1,4 +1,4 @@
|
||||||
{ enabled, config, ... }:
|
{ enabled, ... }:
|
||||||
{
|
{
|
||||||
oizys = {
|
oizys = {
|
||||||
vpn = enabled;
|
vpn = enabled;
|
||||||
|
@ -11,7 +11,6 @@
|
||||||
};
|
};
|
||||||
vbox = enabled;
|
vbox = enabled;
|
||||||
backups = enabled;
|
backups = enabled;
|
||||||
hp-scanner = enabled;
|
|
||||||
languages = [
|
languages = [
|
||||||
"misc"
|
"misc"
|
||||||
"nim"
|
"nim"
|
||||||
|
@ -22,7 +21,6 @@
|
||||||
"tex"
|
"tex"
|
||||||
"zig"
|
"zig"
|
||||||
];
|
];
|
||||||
llm = enabled;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.restic.backups.gdrive = {
|
services.restic.backups.gdrive = {
|
||||||
|
@ -35,5 +33,5 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.${config.oizys.user}.extraGroups = [ "audio" ];
|
users.users.daylin.extraGroups = [ "audio" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,13 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.printing = enabled;
|
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/lenovo/thinkpad/x1/9th-gen/default.nix
|
||||||
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/common/pc/ssd/default.nix
|
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/common/pc/ssd/default.nix
|
||||||
|
|
|
@ -10,22 +10,12 @@ let
|
||||||
flake = flakeFromSystem system;
|
flake = flakeFromSystem system;
|
||||||
pkgs = import inputs.nixpkgs {
|
pkgs = import inputs.nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [
|
overlays = map [
|
||||||
(flake.overlay "lix-module")
|
"lix-module"
|
||||||
(flake.overlay "hyprland-contrib")
|
"hyprland-contrib"
|
||||||
(flake.overlay "nixpkgs-wayland")
|
"nixpkgs-wayland"
|
||||||
];
|
] flake.overlay;
|
||||||
};
|
};
|
||||||
myPackages = map [
|
|
||||||
"tsm"
|
|
||||||
"hyprman"
|
|
||||||
"zls"
|
|
||||||
] flake.pkg;
|
|
||||||
|
|
||||||
hyprPackages = with (flake.pkgs "hyprland"); [
|
|
||||||
default
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
makePackages =
|
makePackages =
|
||||||
|
@ -33,18 +23,24 @@ in
|
||||||
{
|
{
|
||||||
src = ./.;
|
src = ./.;
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
(with pkgs; [
|
[
|
||||||
pixi
|
pkgs.pixi
|
||||||
swww
|
pkgs.swww
|
||||||
nixVersions.stable
|
pkgs.nixVersions.stable
|
||||||
|
]
|
||||||
|
++ (map [
|
||||||
|
"tsm"
|
||||||
|
"hyprman"
|
||||||
|
"zls"
|
||||||
|
] flake.pkg)
|
||||||
|
++ (with flake.pkgs "hyprland"; [
|
||||||
|
default
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
])
|
])
|
||||||
++ [
|
++ [
|
||||||
(flake.pkgs "roc").full
|
(flake.pkgs "roc").full
|
||||||
(flake.pkgs "zig2nix").zig.master.bin
|
(flake.pkgs "zig2nix").zig.master.bin
|
||||||
]
|
];
|
||||||
++ myPackages
|
|
||||||
++ hyprPackages;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir "$out"
|
mkdir "$out"
|
||||||
|
|
|
@ -6,6 +6,13 @@
|
||||||
flake,
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
activate-snippet = ''
|
||||||
|
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||||
|
exec Hyprland
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
|
||||||
mkOizysModule config "hyprland" {
|
mkOizysModule config "hyprland" {
|
||||||
programs.hyprland = enabled;
|
programs.hyprland = enabled;
|
||||||
|
@ -40,9 +47,6 @@ mkOizysModule config "hyprland" {
|
||||||
swww
|
swww
|
||||||
|
|
||||||
catppuccin-cursors.mochaDark
|
catppuccin-cursors.mochaDark
|
||||||
|
|
||||||
# not even clear why I need to add this but ¯\_(ツ)_/¯
|
|
||||||
kdePackages.qtwayland
|
|
||||||
])
|
])
|
||||||
++ [ (flake.pkg "hyprman") ]
|
++ [ (flake.pkg "hyprman") ]
|
||||||
|
|
||||||
|
@ -55,30 +59,20 @@ mkOizysModule config "hyprland" {
|
||||||
#
|
#
|
||||||
# dunst
|
# dunst
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
services.getty = {
|
||||||
|
extraArgs = [ "--skip-login" ];
|
||||||
|
loginOptions = "-p -- ${config.oizys.user}";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"bashrc.local".text = activate-snippet;
|
||||||
|
"zshenv.local".text = activate-snippet;
|
||||||
|
};
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(flake.overlay "hyprland-contrib")
|
(flake.overlay "hyprland-contrib")
|
||||||
# (overlayFrom "nixpkgs-wayland")
|
# (overlayFrom "nixpkgs-wayland")
|
||||||
# (overlayFrom "hyprland")
|
# (overlayFrom "hyprland")
|
||||||
];
|
];
|
||||||
# using the below to autostart Hyprland
|
|
||||||
# broke my keybindings that were working before
|
|
||||||
# services.getty = {
|
|
||||||
# extraArgs = [ "--skip-login" ];
|
|
||||||
# loginOptions = "-p -- ${config.oizys.user}";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# environment.etc =
|
|
||||||
# let
|
|
||||||
# activate-snippet = ''
|
|
||||||
# if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
|
||||||
# exec Hyprland
|
|
||||||
# fi
|
|
||||||
# '';
|
|
||||||
# in
|
|
||||||
# {
|
|
||||||
# "bashrc.local".text = activate-snippet;
|
|
||||||
# "zshenv.local".text = activate-snippet;
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
enabled,
|
|
||||||
mkOizysModule,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (pkgs) python3Packages;
|
|
||||||
llm-ollama = python3Packages.callPackage ./llm-plugins/llm-ollama { };
|
|
||||||
llm-claude3 = python3Packages.callPackage ./llm-plugins/llm-claude-3 { };
|
|
||||||
llm = (
|
|
||||||
pkgs.llm.withPlugins [
|
|
||||||
llm-ollama
|
|
||||||
llm-claude3
|
|
||||||
]
|
|
||||||
);
|
|
||||||
in
|
|
||||||
|
|
||||||
mkOizysModule config "llm" {
|
|
||||||
services.ollama = enabled;
|
|
||||||
environment.systemPackages = [ llm ];
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -12,7 +12,6 @@ let
|
||||||
mkOption
|
mkOption
|
||||||
literalExpression
|
literalExpression
|
||||||
types
|
types
|
||||||
optionals
|
|
||||||
;
|
;
|
||||||
cfg = config.oizys.nix-ld;
|
cfg = config.oizys.nix-ld;
|
||||||
|
|
||||||
|
@ -104,7 +103,8 @@ in
|
||||||
|
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
libs = defaultLibraries ++ cfg.extra-libraries ++ (optionals cfg.overkill.enable overkillLibraries);
|
libs =
|
||||||
|
defaultLibraries ++ cfg.extra-libraries ++ (if cfg.overkill.enable then overkillLibraries else [ ]);
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
mkIf cfg.enable {
|
||||||
programs.nix-ld = enabled // {
|
programs.nix-ld = enabled // {
|
||||||
|
|
|
@ -28,7 +28,6 @@ in
|
||||||
|
|
||||||
gui
|
gui
|
||||||
fonts
|
fonts
|
||||||
hp-scanner
|
|
||||||
|
|
||||||
languages
|
languages
|
||||||
|
|
||||||
|
@ -38,8 +37,6 @@ in
|
||||||
|
|
||||||
nix-ld
|
nix-ld
|
||||||
restic
|
restic
|
||||||
|
|
||||||
llm
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.oizys = {
|
options.oizys = {
|
||||||
|
|
|
@ -25,7 +25,6 @@ let
|
||||||
kind ? "braille",
|
kind ? "braille",
|
||||||
}:
|
}:
|
||||||
"[1;3${number}m\n" + runes.${name}.${kind} + "\n[0m";
|
"[1;3${number}m\n" + runes.${name}.${kind} + "\n[0m";
|
||||||
|
|
||||||
cfg = config.oizys.rune;
|
cfg = config.oizys.rune;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@ def convert [] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def nix-file [] {
|
def nix [] {
|
||||||
let rune = $in | convert
|
let rune = $in | convert
|
||||||
$"{
|
$"{
|
||||||
braille = ''
|
braille = ''
|
||||||
|
@ -34,7 +34,8 @@ ascii = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
def col [] {
|
def col [] {
|
||||||
$in | reduce --fold "" {|it, acc|
|
$in
|
||||||
|
| reduce --fold "" {|it, acc|
|
||||||
$acc + $'<td><img src="($it.url)"></td>'
|
$acc + $'<td><img src="($it.url)"></td>'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +45,7 @@ def row [] { $"<tr>($in)</tr>" }
|
||||||
def readme [] {
|
def readme [] {
|
||||||
let runes = $in
|
let runes = $in
|
||||||
let dims = { rows: 2 cols: 2 }
|
let dims = { rows: 2 cols: 2 }
|
||||||
let cells = ($runes | chunks $dims.rows | each { col | row})
|
let cells = ($runes | chunks $dims.rows | each { $in | col | row})
|
||||||
let table = [ "<table>" ...$cells "</table>" ] | str join
|
let table = [ "<table>" ...$cells "</table>" ] | str join
|
||||||
|
|
||||||
$"# Runes\n\n($table)\n"
|
$"# Runes\n\n($table)\n"
|
||||||
|
@ -55,7 +56,7 @@ $runes
|
||||||
| save -f "README.md"
|
| save -f "README.md"
|
||||||
|
|
||||||
$runes
|
$runes
|
||||||
| each { nix-file }
|
| each {|rune| $rune | nix }
|
||||||
|
|
||||||
|
|
||||||
nix fmt
|
print "don't forget to run `nix fmt`!"
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
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"
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue