new stuff

This commit is contained in:
Mars 2025-02-02 23:34:58 -05:00
parent 10005a31a1
commit 356b528c72
Signed by: pupbrained
GPG key ID: 0FF5B8826803F895
10 changed files with 1734 additions and 1545 deletions

View file

@ -1,187 +1,194 @@
{
"bang-bang": {
"cargoLocks": null,
"date": "2023-07-23",
"extract": null,
"name": "bang-bang",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-bang-bang",
"rev": "ec991b80ba7d4dda7a962167b036efc5c2d79419",
"sha256": "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0=",
"type": "github"
"bang-bang": {
"cargoLocks": null,
"date": "2023-07-23",
"extract": null,
"name": "bang-bang",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-bang-bang",
"rev": "ec991b80ba7d4dda7a962167b036efc5c2d79419",
"sha256": "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0=",
"sparseCheckout": [],
"type": "github"
},
"version": "ec991b80ba7d4dda7a962167b036efc5c2d79419"
},
"version": "ec991b80ba7d4dda7a962167b036efc5c2d79419"
},
"fix-window-role": {
"cargoLocks": null,
"date": null,
"extract": null,
"name": "fix-window-role",
"passthru": null,
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-H4Qj6n5uZsmsbdjjexGZctqhJk3gAXKiSnmnEO/LgTA=",
"type": "url",
"url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch"
"fix-window-role": {
"cargoLocks": null,
"date": null,
"extract": null,
"name": "fix-window-role",
"passthru": null,
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-H4Qj6n5uZsmsbdjjexGZctqhJk3gAXKiSnmnEO/LgTA=",
"type": "url",
"url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch"
},
"version": "latest"
},
"version": "latest"
},
"git-abbr": {
"cargoLocks": null,
"date": "2023-06-19",
"extract": null,
"name": "git-abbr",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "pupbrained",
"repo": "fish-git-abbr",
"rev": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e",
"sha256": "sha256-6z3Wr2t8CP85xVEp6UCYaM2KC9PX4MDyx19f/wjHkb0=",
"type": "github"
"git-abbr": {
"cargoLocks": null,
"date": "2023-06-19",
"extract": null,
"name": "git-abbr",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "pupbrained",
"repo": "fish-git-abbr",
"rev": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e",
"sha256": "sha256-6z3Wr2t8CP85xVEp6UCYaM2KC9PX4MDyx19f/wjHkb0=",
"sparseCheckout": [],
"type": "github"
},
"version": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e"
},
"version": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e"
},
"gityaw": {
"cargoLocks": null,
"date": "2019-01-07",
"extract": null,
"name": "gityaw",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-gityaw",
"rev": "59196560e0f4520db63fb8cab645510377bb8b13",
"sha256": "sha256-STXNxSsjSopB+lbB4hEYdhJifRfsImRwbZ1SxwEhkuM=",
"type": "github"
"gityaw": {
"cargoLocks": null,
"date": "2019-01-07",
"extract": null,
"name": "gityaw",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-gityaw",
"rev": "59196560e0f4520db63fb8cab645510377bb8b13",
"sha256": "sha256-STXNxSsjSopB+lbB4hEYdhJifRfsImRwbZ1SxwEhkuM=",
"sparseCheckout": [],
"type": "github"
},
"version": "59196560e0f4520db63fb8cab645510377bb8b13"
},
"version": "59196560e0f4520db63fb8cab645510377bb8b13"
},
"license": {
"cargoLocks": null,
"date": "2018-10-22",
"extract": null,
"name": "license",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-license",
"rev": "0155b16f102957ec0c734a90979245dc1073f979",
"sha256": "sha256-Bi9Q5rekZoyXYbRV+U4SmwCdqCl0pFupzm5si7SxFns=",
"type": "github"
"license": {
"cargoLocks": null,
"date": "2018-10-22",
"extract": null,
"name": "license",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-license",
"rev": "0155b16f102957ec0c734a90979245dc1073f979",
"sha256": "sha256-Bi9Q5rekZoyXYbRV+U4SmwCdqCl0pFupzm5si7SxFns=",
"sparseCheckout": [],
"type": "github"
},
"version": "0155b16f102957ec0c734a90979245dc1073f979"
},
"version": "0155b16f102957ec0c734a90979245dc1073f979"
},
"replay-fish": {
"cargoLocks": null,
"date": "2024-07-01",
"extract": null,
"name": "replay-fish",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "jorgebucaran",
"repo": "replay.fish",
"rev": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c",
"sha256": "sha256-TzQ97h9tBRUg+A7DSKeTBWLQuThicbu19DHMwkmUXdg=",
"type": "github"
"replay-fish": {
"cargoLocks": null,
"date": "2024-07-01",
"extract": null,
"name": "replay-fish",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "jorgebucaran",
"repo": "replay.fish",
"rev": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c",
"sha256": "sha256-TzQ97h9tBRUg+A7DSKeTBWLQuThicbu19DHMwkmUXdg=",
"sparseCheckout": [],
"type": "github"
},
"version": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c"
},
"version": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c"
},
"round-undecorated-frame": {
"cargoLocks": null,
"date": null,
"extract": null,
"name": "round-undecorated-frame",
"passthru": null,
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-dFH4D1WYQOVOagUuVdEQB3irxV+Y8dDAOKJOJXc/KHQ=",
"type": "url",
"url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/round-undecorated-frame.patch"
"round-undecorated-frame": {
"cargoLocks": null,
"date": null,
"extract": null,
"name": "round-undecorated-frame",
"passthru": null,
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-dFH4D1WYQOVOagUuVdEQB3irxV+Y8dDAOKJOJXc/KHQ=",
"type": "url",
"url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/round-undecorated-frame.patch"
},
"version": "latest"
},
"version": "latest"
},
"sddm-theme-minesddm": {
"cargoLocks": null,
"date": "2025-01-06",
"extract": null,
"name": "sddm-theme-minesddm",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "Davi-S",
"repo": "sddm-theme-minesddm",
"rev": "c483c1287030fd848e7439851cb9f6627ab60920",
"sha256": "sha256-uVlLPlYyvxxNgRzRrYfdIHwY0f7okKAq6NNgFzBw5TY=",
"type": "github"
"sddm-theme-minesddm": {
"cargoLocks": null,
"date": "2025-01-06",
"extract": null,
"name": "sddm-theme-minesddm",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "Davi-S",
"repo": "sddm-theme-minesddm",
"rev": "c483c1287030fd848e7439851cb9f6627ab60920",
"sha256": "sha256-uVlLPlYyvxxNgRzRrYfdIHwY0f7okKAq6NNgFzBw5TY=",
"sparseCheckout": [],
"type": "github"
},
"version": "c483c1287030fd848e7439851cb9f6627ab60920"
},
"version": "c483c1287030fd848e7439851cb9f6627ab60920"
},
"system-appearance": {
"cargoLocks": null,
"date": null,
"extract": null,
"name": "system-appearance",
"passthru": null,
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-nrPOgGQAJb/5brrrWJNDARY2jWNJ9OsMtO+LPVhHfbY=",
"type": "url",
"url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/system-appearance.patch"
"system-appearance": {
"cargoLocks": null,
"date": null,
"extract": null,
"name": "system-appearance",
"passthru": null,
"pinned": false,
"src": {
"name": null,
"sha256": "sha256-nrPOgGQAJb/5brrrWJNDARY2jWNJ9OsMtO+LPVhHfbY=",
"type": "url",
"url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/system-appearance.patch"
},
"version": "latest"
},
"version": "latest"
},
"wttr": {
"cargoLocks": null,
"date": "2016-05-23",
"extract": null,
"name": "wttr",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-wttr",
"rev": "7500e382e6b29a463edc57598217ce0cfaf8c90c",
"sha256": "sha256-k3FrRPxKCiObO6HgtDx8ORbcLmfSYQsQeq5SAoNfZbE=",
"type": "github"
},
"version": "7500e382e6b29a463edc57598217ce0cfaf8c90c"
}
}
"wttr": {
"cargoLocks": null,
"date": "2016-05-23",
"extract": null,
"name": "wttr",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "oh-my-fish",
"repo": "plugin-wttr",
"rev": "7500e382e6b29a463edc57598217ce0cfaf8c90c",
"sha256": "sha256-k3FrRPxKCiObO6HgtDx8ORbcLmfSYQsQeq5SAoNfZbE=",
"sparseCheckout": [],
"type": "github"
},
"version": "7500e382e6b29a463edc57598217ce0cfaf8c90c"
}
}

View file

@ -1,8 +1,6 @@
# This file was generated by nvfetcher, please do not modify it manually.
{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }:
{
fetchurl,
fetchFromGitHub,
}: {
bang-bang = {
pname = "bang-bang";
version = "ec991b80ba7d4dda7a962167b036efc5c2d79419";

View file

@ -28,8 +28,10 @@
hyprland = mkWithSubmodules "https://github.com/hyprwm/Hyprland";
hyprland-plugins = mkFollowing "hyprwm/hyprland-plugins" "hyprland";
hyprpanel = mkInput "ThomasCarey4/HyprPanel-NixFix";
hyprswitch = mkInput "h3rmt/hyprswitch/release";
hyprspace = mkFollowing "KZDKM/Hyprspace" "hyprland";
hypr-dynamic-cursors = mkFollowing "VirtCode/hypr-dynamic-cursors" "hyprland";
jovian = mkInput "Jovian-Experiments/Jovian-NixOS";
impermanence = mkInput "nix-community/impermanence";
nix-colors = mkInput "Misterio77/nix-colors";
nixos-apple-silicon = mkInput "tpwrules/nixos-apple-silicon";
@ -90,6 +92,7 @@
impermanence.nixosModules.impermanence
lix-module.nixosModules.default
nixos-facter-modules.nixosModules.facter
jovian.nixosModules.default
]
++ xmonad-contrib.nixosModules;

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,9 @@
inputs.hyprland.follows = "hyprland";
url = "github:KZDKM/Hyprspace";
};
hyprswitch.url = "github:h3rmt/hyprswitch/release";
impermanence.url = "github:nix-community/impermanence";
jovian.url = "github:Jovian-Experiments/Jovian-NixOS";
lix = {
flake = false;
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";

View file

@ -59,6 +59,18 @@
nodejs
playerctl
prismlauncher
ryujinx-greemdev
(python312.withPackages
(p:
with p; [
epc
orjson
sexpdata
six
setuptools
paramiko
rapidfuzz
]))
telegram-desktop
]
++ (with jetbrains; [
@ -71,6 +83,7 @@
++ (with inputs; [
chaotic.packages.${pkgs.system}.distrobox_git
chaotic.packages.${pkgs.system}.zed-editor_git
ghostty.packages.${pkgs.system}.default
nixvim.packages.${pkgs.system}.default
zen-browser.packages.${pkgs.system}.default
]);

View file

@ -9,6 +9,10 @@ with pkgs; {
hyprpanel
swww
wl-clipboard
(pkgs.writeShellScriptBin "hyprexit" ''
${hyprland}/bin/hyprctl dispatch exit
${systemd}/bin/loginctl terminate-user marshall
'')
];
wayland.windowManager.hyprland = {
@ -129,14 +133,7 @@ with pkgs; {
"hyprpanel"
"swww-daemon"
"swww img ${./walls/blaidd.png}"
# "${writeScript "wallpaper" ''
# while : ; do
# for file in $(${uutils-coreutils}/bin/uutils-ls ${./walls}/*.jpg | sort -R | tail -1); do
# swww img "$file" --transition-fps 165
# sleep 5m
# done
# done
# ''}"
"hyprswitch init --show-title --size-factor 5.5 --workspaces-per-row 5 &"
];
misc = {
@ -189,10 +186,11 @@ with pkgs; {
# Quitting
"${mod}, q, killactive"
"${modS}, q, exit"
"${modS}, q, exec, hyprexit"
# Toggles
"${mod}, Space, togglefloating"
"${mod}, f, fullscreen"
# Focus movements
"${mod}, h, movefocus, l"
@ -212,6 +210,9 @@ with pkgs; {
"${modC}, k, resizeactive, 0 -30"
"${modC}, l, resizeactive, 30 0"
# Alt-tab menu
"Alt, Tab, exec, hyprswitch gui --mod-key alt --key tab --close mod-key-release && hyprswitch dispatch"
# Volume controls
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"

View file

@ -10,6 +10,7 @@
fd.enable = true;
git-cliff.enable = true;
jq.enable = true;
nix-index-database.comma.enable = true;
nix-index.enable = true;
ripgrep.enable = true;

View file

@ -99,6 +99,24 @@
};
};
jovian = {
steam = {
enable = true;
autoStart = true;
user = "marshall";
desktopSession = "hyprland";
environment = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "${pkgs.proton-ge-bin.steamcompattool}";
};
};
decky-loader = {
enable = true;
user = "marshall";
};
};
fonts = {
packages = with pkgs;
[
@ -249,12 +267,14 @@
snowfallorg.flake
sound-theme-freedesktop
uutils-coreutils-noprefix
tpm2-tss
virtio-win
(warp-terminal.override {waylandSupport = true;})
winetricks
wineWowPackages.staging
xclip
yt-dlp
inputs.hyprswitch.packages.${system}.hyprswitch
(callPackage ./pkgs/sddm-theme-minesddm.nix {})
];
@ -267,9 +287,9 @@
"/root/.ssh"
"/var/lib/bluetooth"
"/var/lib/iwd"
"/var/lib/libvirt"
"/var/lib/nixos"
"/var/lib/systemd/coredump"
"/var/lib/decky-loader"
];
files = ["/etc/machine-id"];
};
@ -288,69 +308,55 @@
tmp.useTmpfs = true;
initrd = {
availableKernelModules = ["tpm_tis"];
# Encrypted device
luks.devices."enc".device = "/dev/disk/by-uuid/9952fcd1-46eb-4c9c-ab7d-361d31fdb9a2";
luks.devices."enc" = {
device = "/dev/disk/by-uuid/9952fcd1-46eb-4c9c-ab7d-361d31fdb9a2";
crypttabExtraOpts = ["tpm2-device=auto" "tpm2-measure-pcr=yes"];
};
postDeviceCommands = lib.mkAfter ''
mkdir /btrfs_tmp
mount /dev/mapper/enc /btrfs_tmp
if [[ -e /btrfs_tmp/root ]]; then
mkdir -p /btrfs_tmp/old_roots
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
fi
systemd = {
enable = true;
emergencyAccess = true;
enableTpm2 = true;
delete_subvolume_recursively() {
IFS=$'\n'
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
delete_subvolume_recursively "/btrfs_tmp/$i"
done
btrfs subvolume delete "$1"
}
services.wipe-root = {
description = "Rollback BTRFS root subvolume to a pristine state";
wantedBy = ["initrd.target"];
after = ["dev-mapper-enc.device"]; # LUKS process
requires = ["dev-mapper-enc.device"];
before = ["sysroot.mount"];
unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot";
script = ''
(
set -xe
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
delete_subvolume_recursively "$i"
done
btrfs_subvolume_delete_recursive() {
btrfs subvolume list -o "$1" |
cut -f 9- -d ' ' |
while read -r subvolume; do
btrfs_subvolume_delete_recursive "$mount_point/$subvolume"
done
btrfs subvolume create /btrfs_tmp/root
umount /btrfs_tmp
'';
btrfs subvolume delete "$1"
}
# systemd = {
# enable = true;
# emergencyAccess = true;
# dbus.enable = true;
#
# services.wipe-root = {
# requires = ["dev-mapper-enc.device"];
# after = ["dev-mapper-enc.device"];
# wantedBy = ["initrd.target"];
# script = lib.mkAfter ''
# mkdir /btrfs_tmp
# mount /dev/mapper/enc /btrfs_tmp
# if [[ -e /btrfs_tmp/root ]]; then
# mkdir -p /btrfs_tmp/old_roots
# timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
# mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
# fi
#
# delete_subvolume_recursively() {
# IFS=$'\n'
# for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
# delete_subvolume_recursively "/btrfs_tmp/$i"
# done
# btrfs subvolume delete "$1"
# }
#
# for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
# delete_subvolume_recursively "$i"
# done
#
# btrfs subvolume create /btrfs_tmp/root
# umount /btrfs_tmp
# '';
# };
# };
mount_point=/mnt
mkdir -p "$mount_point"
mount -t btrfs "/dev/mapper/enc" "$mount_point"
trap 'umount "$mount_point" && rmdir "$mount_point"' EXIT
btrfs_subvolume_delete_recursive \
"$mount_point/root"
btrfs subvolume create "$mount_point/root"
)
'';
};
};
};
extraModprobeConfig =
@ -465,7 +471,6 @@
fish.enable = true;
gamemode.enable = true;
gnupg.agent.enable = true;
virt-manager.enable = true;
appimage = {
enable = true;
@ -521,13 +526,23 @@
spice-vdagentd.enable = true;
udisks2.enable = true;
nextjs-ollama-llm-ui = {
enable = true;
};
ollama = {
enable = true;
loadModels = ["deepseek-r1:14b"];
acceleration = "cuda";
};
btrfs.autoScrub = {
enable = true;
fileSystems = ["/dev/mapper/enc"];
};
displayManager.sddm = {
enable = true;
enable = false;
wayland.enable = true;
wayland.compositor = "kwin";
theme = "minesddm";
@ -580,9 +595,7 @@
extraGroups = [
"disk"
"gamemode"
"libvirtd"
"networkmanager"
"qemu-libvirtd"
"tss"
"wheel"
];
@ -615,7 +628,7 @@
package = config.boot.kernelPackages.nvidiaPackages.beta;
modesetting.enable = true;
powerManagement.enable = false;
open = true;
open = false;
};
};
@ -626,8 +639,6 @@
config.common.default = "*";
extraPortals = [
pkgs.xdg-desktop-portal-cosmic
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
];
};

File diff suppressed because it is too large Load diff