Compare commits

...

5 commits

Author SHA1 Message Date
Nick
8e918f915c feat: hyprland for user1 2025-03-09 23:00:10 -05:00
Nick
8350dbd9ba feat: seaxng test 2025-03-09 19:45:00 -05:00
Nick
a25db19492 feat: seaxng test 2025-03-09 19:44:23 -05:00
Nick
c2776775e5 chore: quick push 2025-03-09 19:39:58 -05:00
Nick
b936cfeed6 chore: quick push 2025-03-09 19:37:13 -05:00
21 changed files with 317 additions and 37 deletions

View file

@ -139,6 +139,10 @@
path = ./templates/haskell;
description = "Haskell Environment";
};
typst = {
path = ./templates/typst;
description = "Typst Environment";
};
};
};

View file

@ -31,6 +31,7 @@ in
obsidian
libreOffice
okular
zathura
kolourPaint
imageViewing
obsStudio
@ -54,7 +55,7 @@ in
wayland
theming
polychromatic
nautilus
dolphin
;
};
};
@ -166,7 +167,9 @@ in
scrcpy
bitwarden
emote
desktop
hypr
wayland
theming
;
};
};

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
zathura
;
};
}

View file

@ -1,12 +1,4 @@
{
flake,
config,
...
}:
let
inherit (flake.config.people) user0 user1;
user = config.home.username;
superBinds = builtins.map (x: "SUPER, " + x) [
# Apps
"Z, exec, obsidian"
@ -15,7 +7,7 @@ let
"G, exec, scrcpy"
"K, exec, ghostty -e nu -e y"
"S, exec, steam"
"R, exec, obs"
"R, exec, ghostty -e zellij a dotfiles"
"N, exec, signal-desktop"
"T, exec, zeditor"
"B, exec, floorp"

View file

@ -0,0 +1,91 @@
let
superBinds = builtins.map (x: "SUPER, " + x) [
# Apps
"B, exec, brave"
"E, exec, ghostty -e nu -e y"
"S, exec, steam"
"N, exec, signal-desktop"
"D, exec, discordcanary"
"R, exec, flatpak run org.vinegarhq.Sober"
"T, exec, ghostty"
"P, exec, spotify"
"M, exec, prismlauncher"
"J, exec, jellyfinmediaplayer"
"L, exec, lutris"
# Workspaces
"1, workspace, 1"
"2, workspace, 2"
"3, workspace, 3"
"4, workspace, 4"
"5, workspace, 5"
# Windows
"X, killactive"
"bracketright, splitratio, 0.33"
"bracketleft, splitratio, -0.33"
"Tab, fullscreen, 0"
"F, togglefloating"
# Window Focus
"left, movefocus, l"
"up, movefocus, u"
"down, movefocus, d"
"right, movefocus, r"
# Audio
"PageUp, exec, playerctl next"
"PageDown, exec, playerctl previous"
"Home, exec, playerctl play-pause"
"Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun"
];
superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [
# Super+shift binds
# Window Move
"left, movewindow, l"
"up, movewindow, u"
"down, movewindow, d"
"right, movewindow, r"
# Quick Action
"S, exec, flameshot gui"
"period, exec, emote"
"Backspace, layoutmsg, togglesplit"
"P, pin, enable"
# "Print, exec, grim -g \"$(slurp)\""
# Utility
"End, exec, shutdown now"
"Insert, exec, systemctl reboot"
"Home, exec, swaylock"
"1, movetoworkspacesilent, 1"
"2, movetoworkspacesilent, 2"
"3, movetoworkspacesilent, 3"
"4, movetoworkspacesilent, 4"
"5, movetoworkspacesilent, 5"
];
superCtrlBinds = builtins.map (x: "SUPER CTRL, " + x) [
# Super+shift binds
];
altBinds = builtins.map (x: "ALT, " + x) [
# Alt binds
];
shiftBinds = builtins.map (x: "SHIFT, " + x) [
# Shift binds
];
ctrlBinds = builtins.map (x: "CTRL, " + x) [
# Ctrl binds
];
ctrlShiftBinds = builtins.map (x: "CTRL SHIFT, " + x) [
# Ctrl+shift binds
# "End, exec, shutdown now"
];
in
superBinds
++ superShiftBinds
++ superCtrlBinds
++ altBinds
++ ctrlBinds
++ ctrlShiftBinds
++ shiftBinds
# Docs
# https://wiki.hyprland.org/Getting-Started/Master-Tutorial/

View file

@ -6,10 +6,12 @@
}:
let
inherit (flake.config.people) user0;
user = config.home.username;
configPath = ./config;
configImports = {
animations = import (configPath + /animations.nix);
bind = import (configPath + /bind.nix) { inherit flake config; };
bindm = import (configPath + /bindm.nix);
binds = import (configPath + /binds.nix);
# bindl = import (configPath + /bindl.nix);
@ -21,6 +23,15 @@ let
misc = import (configPath + /misc.nix);
windowrulev2 = import (configPath + /windowrulev2.nix);
xwayland = import (configPath + /xwayland.nix);
bind =
let
bindConfig =
if user == user0 then
import (configPath + /bind-user0.nix)
else
import (configPath + /bind-user1.nix);
in
bindConfig;
};
in
{

View file

@ -14,6 +14,7 @@ in
searx
wayland
xserver
flatpak
;
};
};
@ -31,7 +32,9 @@ in
deimos = {
imports = builtins.attrValues {
inherit (modules)
gnome
hypr
wayland
flatpak
xserver
;
};
@ -53,7 +56,6 @@ in
searx
vaultwarden
forgejo
wayland
xserver
;
};

View file

@ -65,14 +65,14 @@ in
// (
if hostname == mars.name then
{
models = service.paths.path1;
# acceleration = "rocm";
# package = pkgs.ollama.override {
# config = {
# rocmSupport = true;
# cudaSupport = false;
# };
# };
# models = service.paths.path1;
acceleration = "rocm";
package = pkgs.ollama.override {
config = {
rocmSupport = true;
cudaSupport = false;
};
};
}
else
{

View file

@ -158,19 +158,12 @@ in
virtualHosts = {
"${host}" = {
extraConfig = ''
# Use the uwsgi socket directly instead of reverse_proxy to HTTP
reverse_proxy unix//run/searx/searx.sock {
transport unix {
dial_timeout 5s
}
header_up Host {host}
header_up X-Forwarded-For {remote}
header_up X-Forwarded-Proto {scheme}
header_up X-Script-Name /
}
redir /.well-known/carddav /remote.php/dav/ 301
redir /.well-known/caldav /remote.php/dav/ 301
reverse_proxy ${localhost}:${toString service.ports.port0}
tls ${service.ssl.cert} ${service.ssl.key}
encode zstd gzip
'';
};
};

View file

@ -71,11 +71,11 @@ in
in
{
"/" = {
device = "/dev/disk/by-uuid/57e88a48-00eb-46ca-9e2a-855de7e066b2";
device = "/dev/disk/by-uuid/1de87c26-c123-44c0-9c9b-6d2480bdeb7d";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-uuid/F095-17B7";
device = "/dev/disk/by-uuid/6A1F-3641";
fsType = "vfat";
options = mars.boot.options;
};
@ -85,7 +85,7 @@ in
// (builtins.listToAttrs (map sambaMounts sambaDrives));
swapDevices = [
{ device = "/dev/disk/by-uuid/56c84b5e-83b4-4ea1-b6ec-a29fc057292d"; }
{ device = "/dev/disk/by-uuid/8b1d43a7-baf8-4d15-a1ad-dc0c9dda6970"; }
];
systemd.tmpfiles.rules = [

View file

@ -23,7 +23,7 @@ in
3131 # Deskreen
1234 # Elm-land server
5037 # ADB Server
52006
44363
];
};
};

1
templates/typst/.envrc Executable file
View file

@ -0,0 +1 @@
use flake

4
templates/typst/.gitignore vendored Executable file
View file

@ -0,0 +1,4 @@
.direnv
.pre-commit-config.yaml
.vscode
*.pdf

28
templates/typst/flake.nix Executable file
View file

@ -0,0 +1,28 @@
{
description = "Typst Environment";
inputs = {
devshell.url = "github:numtide/devshell";
flake-root.url = "github:srid/flake-root";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix";
};
outputs =
inputs@{
nixpkgs,
flake-parts,
self,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.devshell.flakeModule
inputs.flake-root.flakeModule
inputs.pre-commit-hooks-nix.flakeModule
./parts
];
systems = nixpkgs.lib.systems.flakeExposed;
};
}

View file

@ -0,0 +1,26 @@
{
pkgs,
config,
...
}:
{
devShells = {
default = pkgs.mkShell {
packages = builtins.attrValues {
inherit (pkgs)
just
nil
typst
tinymist
typstyle
yamlfmt
nixfmt-rfc-style
;
inherit (pkgs.nodePackages)
"@commitlint/config-conventional"
;
};
};
shellHook = "${config.pre-commit.installationScript}";
};
}

View file

@ -0,0 +1,7 @@
{
pre-commit.settings.hooks = {
nixfmt.enable = true;
commitizen.enable = true;
statix.enable = true;
};
}

View file

@ -0,0 +1,24 @@
{
perSystem =
{
pkgs,
lib,
config,
self',
...
}:
let
configPath = ./config;
devshellImports =
let
files = builtins.attrNames (builtins.readDir configPath);
in
map (name: configPath + "/${name}") (
builtins.filter (name: builtins.match ".*\\.nix$" name != null) files
);
in
{
imports = devshellImports;
};
}

8
templates/typst/src/refs.yml Executable file
View file

@ -0,0 +1,8 @@
citizen:
author: John Zerilli
chapter: 3
date: 2021
isbn: 9780262044813
publisher: The MIT Press
title: A Citizen's Guide To Artificial Intelligence
type: Book

View file

@ -0,0 +1,63 @@
// Catppuccin Latte
#let catppuccinLatteRosewater = rgb("#dc8a78")
#let catppuccinLatteFlamingo = rgb("#dd7878")
#let catppuccinLattePink = rgb("#ea76cb")
#let catppuccinLatteMauve = rgb("#8839ef")
#let catppuccinLatteRed = rgb("#d20f39")
#let catppuccinLatteMaroon = rgb("#e64553")
#let catppuccinLattePeach = rgb("#fe640b")
#let catppuccinLatteYellow = rgb("#df8e1d")
#let catppuccinLatteGreen = rgb("#40a02b")
#let catppuccinLatteTeal = rgb("#179299")
#let catppuccinLatteSky = rgb("#04a5e5")
#let catppuccinLatteSapphire = rgb("#209fb5")
#let catppuccinLatteBlue = rgb("#1e66f5")
#let catppuccinLatteLavender = rgb("#7287fd")
#let catppuccinLatteText = rgb("#4c4f69")
#let catppuccinLatteSubtext1 = rgb("#5c5f77")
#let catppuccinLatteSubtext0 = rgb("#6c6f85")
#let catppuccinLatteOverlay2 = rgb("#7c7f93")
#let catppuccinLatteOverlay1 = rgb("#8c8fa1")
#let catppuccinLatteOverlay0 = rgb("#9ca0b0")
#let catppuccinLatteSurface2 = rgb("#acb0be")
#let catppuccinLatteSurface1 = rgb("#bcc0cc")
#let catppuccinLatteSurface0 = rgb("#ccd0da")
#let catppuccinLatteBase = rgb("#eff1f5")
#let catppuccinLatteMantle = rgb("#e6e9ef")
#let catppuccinLatteCrust = rgb("#dce0e8")
// General:
#let project(author: (:), title: (), body) = {
show figure.caption: it => it.body
set quote(attribution: "content", block: true)
set document(author: author.firstName + " " + author.lastName, title: title)
set text(fill: catppuccinLatteText, font: ("New Computer Modern"), lang: "en")
let title = {
align(center)[
#block[
#text(size: 25pt, weight: "medium")[#title]
]
]
}
let name = {
align(
center,
)[
#block[
#text(size: 12pt, weight: "regular")[#author.firstName #author.lastName]
]
]
}
title
name
body
}

12
templates/typst/src/typst.typ Executable file
View file

@ -0,0 +1,12 @@
#import "template.typ": *
#show: project.with(author: (firstName: "First", lastName: "Last"), title: "Title")
Test
#quote(
attribution: <citizen>,
)[ Fact is, you can't satisfy both calibration and error rate balance if the base
rates differ... ]
#bibliography("refs.yml", style: "ieee")