feat: lisps, hyprland changes, god knows what else

This commit is contained in:
Kat Inskip 2026-01-13 17:52:02 -08:00
parent 35072f0885
commit 6f044a8349
30 changed files with 673 additions and 202 deletions

View file

@ -1,4 +1,11 @@
{pkgs, ...}: {
home.sessionVariables = {
TERMINAL = "alacritty";
};
xdg.terminal-exec = {
enable = true;
settings.default = [ "alacritty.desktop" ];
};
stylix.targets.alacritty.enable = true;
programs.alacritty = {
enable = true;

View file

@ -1,6 +1,11 @@
_: {
programs.librewolf.profiles.main.settings = {
"browser.tabs.allow_transparent_browser" = true;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"widget.use-xdg-desktop-portal.location" = 1;
"widget.use-xdg-desktop-portal.mime-handler" = 1;
"widget.use-xdg-desktop-portal.open-uri" = 1;
"widget.use-xdg-desktop-portal.settings" = 1;
"zen.welcome-screen.seen" = true;
"zen.watermark.enabled" = false;

View file

@ -1,16 +1,36 @@
{
pkgs,
inputs,
lib,
...
}: let
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.meta) getExe';
wssrc = inputs.mpv-websocket.outPath;
wspkg = inputs.mpv-websocket.packages.${pkgs.system}.default;
in {
xdg.configFile."mpv/mpv_websocket".source = getExe' wspkg "mpv_websocket";
xdg.configFile."mpv/input.conf".source = "${wssrc}/mpv/input.conf";
programs.mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [
sponsorblock
mpris
uosc
thumbfast
(pkgs.stdenvNoCC.mkDerivation rec {
pname = "run_websocket_server";
inherit (wspkg) version;
src = wssrc;
dontBuild = true;
dontUnpack = true;
installPhase = ''
install -Dm644 ${src}/mpv/scripts/run_websocket_server.lua $out/share/mpv/scripts/run_websocket_server.lua
'';
passthru.scriptName = "run_websocket_server.lua";
})
];
config = {
profile = "gpu-hq";
@ -18,6 +38,8 @@ in {
vo = "gpu";
volume-max = 200;
opengl-waitvsync = true;
# https://github.com/kuroahna/mpv_websocket/blob/master/mpv/mpv.conf
input-ipc-server = "/tmp/mpv-socket";
script-opts =
builtins.concatStringsSep ","
(mapAttrsToList (k: v: "${k}=${builtins.toString v}") {

View file

@ -1,13 +1,28 @@
{
pkgs,
lib,
std,
...
}: let
inherit (lib.attrsets) genAttrs;
inherit (std) set;
in {
xdg.mimeApps.defaultApplications = let
xdg.mimeApps = {
enable = true;
# https://www.iana.org/assignments/media-types/media-types.xhtml
defaultApplications = let
genDefault = application: types: genAttrs types (_: application);
imageTypes = map (x: "image/${x}") [
mimePrefix = prefix: map (x: "${prefix}/${x}");
archiveTypes = mimePrefix "application" [
"x-bzip"
"x-bzip2"
"gzip"
"x-gzip"
"x-zip"
"x-tar"
"x-7z-compressed"
];
imageTypes = mimePrefix "image" [
"apng"
"avif"
"bmp"
@ -19,7 +34,7 @@ in {
"svg+xml"
"webp"
];
videoTypes = map (x: "video/${x}") [
videoTypes = mimePrefix "video" [
"AV1"
"H264"
"H265"
@ -31,18 +46,32 @@ in {
"VP8"
"VP9"
];
archiveDefaults = genDefault "ark.desktop" archiveTypes;
imageDefaults = genDefault "imv.desktop" imageTypes;
videoDefaults = genDefault "mpv.desktop" videoTypes;
combinedDefaults = imageDefaults // videoDefaults;
combinedDefaults = set.merge [
archiveDefaults
imageDefaults
videoDefaults
{
"inode/directory" = "dolphin.desktop";
}
];
in
combinedDefaults;
};
home.packages = with pkgs; [
anki
# File management
kdePackages.dolphin
# Imagery
aseprite
imv
gimp
blender
krita
# Chat
telegram-desktop # Telegram
@ -52,10 +81,11 @@ in {
mumble
# Archivery
xarchiver
kdePackages.ark
unzip
zip
p7zip
rar
# Misc
exiftool # EXIF Stripping

View file

@ -77,6 +77,8 @@ in {
#tree-sitter-bash
tree-sitter-css
tree-sitter-dockerfile
tree-sitter-fennel
tree-sitter-clojure
tree-sitter-go
tree-sitter-hcl
tree-sitter-html

View file

@ -1,8 +1,12 @@
{
config,
pkgs,
lib,
tree,
...
}: {
}: let
inherit (lib.meta) getExe';
in {
home.packages = with pkgs; [
git-remote-gcrypt
git-crypt
@ -30,7 +34,9 @@
inherit (tree.home.user.data) userName userEmail;
package = pkgs.gitFull;
enable = true;
extraConfig = {
settings = {
core = {
};
init = {defaultBranch = "main";};
protocol.gcrypt.allow = "always";
merge.conflictstyle = "diff3";

View file

@ -7,9 +7,11 @@
}: let
inherit (lib.meta) getExe;
in {
home.packages = [
pkgs.quickshell
home.packages = with pkgs; [
quickshell
inputs.qml-niri.packages.${pkgs.system}.default
cliphist
networkmanager
];
programs.noctalia-shell = {
enable = true;