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

@ -15,6 +15,7 @@
"repo": "plugin-bang-bang", "repo": "plugin-bang-bang",
"rev": "ec991b80ba7d4dda7a962167b036efc5c2d79419", "rev": "ec991b80ba7d4dda7a962167b036efc5c2d79419",
"sha256": "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0=", "sha256": "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "ec991b80ba7d4dda7a962167b036efc5c2d79419" "version": "ec991b80ba7d4dda7a962167b036efc5c2d79419"
@ -50,6 +51,7 @@
"repo": "fish-git-abbr", "repo": "fish-git-abbr",
"rev": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e", "rev": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e",
"sha256": "sha256-6z3Wr2t8CP85xVEp6UCYaM2KC9PX4MDyx19f/wjHkb0=", "sha256": "sha256-6z3Wr2t8CP85xVEp6UCYaM2KC9PX4MDyx19f/wjHkb0=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e" "version": "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e"
@ -70,6 +72,7 @@
"repo": "plugin-gityaw", "repo": "plugin-gityaw",
"rev": "59196560e0f4520db63fb8cab645510377bb8b13", "rev": "59196560e0f4520db63fb8cab645510377bb8b13",
"sha256": "sha256-STXNxSsjSopB+lbB4hEYdhJifRfsImRwbZ1SxwEhkuM=", "sha256": "sha256-STXNxSsjSopB+lbB4hEYdhJifRfsImRwbZ1SxwEhkuM=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "59196560e0f4520db63fb8cab645510377bb8b13" "version": "59196560e0f4520db63fb8cab645510377bb8b13"
@ -90,6 +93,7 @@
"repo": "plugin-license", "repo": "plugin-license",
"rev": "0155b16f102957ec0c734a90979245dc1073f979", "rev": "0155b16f102957ec0c734a90979245dc1073f979",
"sha256": "sha256-Bi9Q5rekZoyXYbRV+U4SmwCdqCl0pFupzm5si7SxFns=", "sha256": "sha256-Bi9Q5rekZoyXYbRV+U4SmwCdqCl0pFupzm5si7SxFns=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "0155b16f102957ec0c734a90979245dc1073f979" "version": "0155b16f102957ec0c734a90979245dc1073f979"
@ -110,6 +114,7 @@
"repo": "replay.fish", "repo": "replay.fish",
"rev": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c", "rev": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c",
"sha256": "sha256-TzQ97h9tBRUg+A7DSKeTBWLQuThicbu19DHMwkmUXdg=", "sha256": "sha256-TzQ97h9tBRUg+A7DSKeTBWLQuThicbu19DHMwkmUXdg=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c" "version": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c"
@ -145,6 +150,7 @@
"repo": "sddm-theme-minesddm", "repo": "sddm-theme-minesddm",
"rev": "c483c1287030fd848e7439851cb9f6627ab60920", "rev": "c483c1287030fd848e7439851cb9f6627ab60920",
"sha256": "sha256-uVlLPlYyvxxNgRzRrYfdIHwY0f7okKAq6NNgFzBw5TY=", "sha256": "sha256-uVlLPlYyvxxNgRzRrYfdIHwY0f7okKAq6NNgFzBw5TY=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "c483c1287030fd848e7439851cb9f6627ab60920" "version": "c483c1287030fd848e7439851cb9f6627ab60920"
@ -180,6 +186,7 @@
"repo": "plugin-wttr", "repo": "plugin-wttr",
"rev": "7500e382e6b29a463edc57598217ce0cfaf8c90c", "rev": "7500e382e6b29a463edc57598217ce0cfaf8c90c",
"sha256": "sha256-k3FrRPxKCiObO6HgtDx8ORbcLmfSYQsQeq5SAoNfZbE=", "sha256": "sha256-k3FrRPxKCiObO6HgtDx8ORbcLmfSYQsQeq5SAoNfZbE=",
"sparseCheckout": [],
"type": "github" "type": "github"
}, },
"version": "7500e382e6b29a463edc57598217ce0cfaf8c90c" "version": "7500e382e6b29a463edc57598217ce0cfaf8c90c"

View file

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

View file

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

File diff suppressed because it is too large Load diff

View file

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

View file

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

View file

@ -9,6 +9,10 @@ with pkgs; {
hyprpanel hyprpanel
swww swww
wl-clipboard wl-clipboard
(pkgs.writeShellScriptBin "hyprexit" ''
${hyprland}/bin/hyprctl dispatch exit
${systemd}/bin/loginctl terminate-user marshall
'')
]; ];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
@ -129,14 +133,7 @@ with pkgs; {
"hyprpanel" "hyprpanel"
"swww-daemon" "swww-daemon"
"swww img ${./walls/blaidd.png}" "swww img ${./walls/blaidd.png}"
# "${writeScript "wallpaper" '' "hyprswitch init --show-title --size-factor 5.5 --workspaces-per-row 5 &"
# 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
# ''}"
]; ];
misc = { misc = {
@ -189,10 +186,11 @@ with pkgs; {
# Quitting # Quitting
"${mod}, q, killactive" "${mod}, q, killactive"
"${modS}, q, exit" "${modS}, q, exec, hyprexit"
# Toggles # Toggles
"${mod}, Space, togglefloating" "${mod}, Space, togglefloating"
"${mod}, f, fullscreen"
# Focus movements # Focus movements
"${mod}, h, movefocus, l" "${mod}, h, movefocus, l"
@ -212,6 +210,9 @@ with pkgs; {
"${modC}, k, resizeactive, 0 -30" "${modC}, k, resizeactive, 0 -30"
"${modC}, l, resizeactive, 30 0" "${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 # Volume controls
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, 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; fd.enable = true;
git-cliff.enable = true; git-cliff.enable = true;
jq.enable = true; jq.enable = true;
nix-index-database.comma.enable = true;
nix-index.enable = true; nix-index.enable = true;
ripgrep.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 = { fonts = {
packages = with pkgs; packages = with pkgs;
[ [
@ -249,12 +267,14 @@
snowfallorg.flake snowfallorg.flake
sound-theme-freedesktop sound-theme-freedesktop
uutils-coreutils-noprefix uutils-coreutils-noprefix
tpm2-tss
virtio-win virtio-win
(warp-terminal.override {waylandSupport = true;}) (warp-terminal.override {waylandSupport = true;})
winetricks winetricks
wineWowPackages.staging wineWowPackages.staging
xclip xclip
yt-dlp yt-dlp
inputs.hyprswitch.packages.${system}.hyprswitch
(callPackage ./pkgs/sddm-theme-minesddm.nix {}) (callPackage ./pkgs/sddm-theme-minesddm.nix {})
]; ];
@ -267,9 +287,9 @@
"/root/.ssh" "/root/.ssh"
"/var/lib/bluetooth" "/var/lib/bluetooth"
"/var/lib/iwd" "/var/lib/iwd"
"/var/lib/libvirt"
"/var/lib/nixos" "/var/lib/nixos"
"/var/lib/systemd/coredump" "/var/lib/systemd/coredump"
"/var/lib/decky-loader"
]; ];
files = ["/etc/machine-id"]; files = ["/etc/machine-id"];
}; };
@ -288,69 +308,55 @@
tmp.useTmpfs = true; tmp.useTmpfs = true;
initrd = { initrd = {
availableKernelModules = ["tpm_tis"];
# Encrypted device # 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 '' systemd = {
mkdir /btrfs_tmp enable = true;
mount /dev/mapper/enc /btrfs_tmp emergencyAccess = true;
if [[ -e /btrfs_tmp/root ]]; then enableTpm2 = true;
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() { services.wipe-root = {
IFS=$'\n' description = "Rollback BTRFS root subvolume to a pristine state";
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do wantedBy = ["initrd.target"];
delete_subvolume_recursively "/btrfs_tmp/$i" after = ["dev-mapper-enc.device"]; # LUKS process
requires = ["dev-mapper-enc.device"];
before = ["sysroot.mount"];
unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot";
script = ''
(
set -xe
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 done
btrfs subvolume delete "$1" btrfs subvolume delete "$1"
} }
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do mount_point=/mnt
delete_subvolume_recursively "$i" mkdir -p "$mount_point"
done mount -t btrfs "/dev/mapper/enc" "$mount_point"
btrfs subvolume create /btrfs_tmp/root trap 'umount "$mount_point" && rmdir "$mount_point"' EXIT
umount /btrfs_tmp
btrfs_subvolume_delete_recursive \
"$mount_point/root"
btrfs subvolume create "$mount_point/root"
)
''; '';
};
# 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
# '';
# };
# };
}; };
extraModprobeConfig = extraModprobeConfig =
@ -465,7 +471,6 @@
fish.enable = true; fish.enable = true;
gamemode.enable = true; gamemode.enable = true;
gnupg.agent.enable = true; gnupg.agent.enable = true;
virt-manager.enable = true;
appimage = { appimage = {
enable = true; enable = true;
@ -521,13 +526,23 @@
spice-vdagentd.enable = true; spice-vdagentd.enable = true;
udisks2.enable = true; udisks2.enable = true;
nextjs-ollama-llm-ui = {
enable = true;
};
ollama = {
enable = true;
loadModels = ["deepseek-r1:14b"];
acceleration = "cuda";
};
btrfs.autoScrub = { btrfs.autoScrub = {
enable = true; enable = true;
fileSystems = ["/dev/mapper/enc"]; fileSystems = ["/dev/mapper/enc"];
}; };
displayManager.sddm = { displayManager.sddm = {
enable = true; enable = false;
wayland.enable = true; wayland.enable = true;
wayland.compositor = "kwin"; wayland.compositor = "kwin";
theme = "minesddm"; theme = "minesddm";
@ -580,9 +595,7 @@
extraGroups = [ extraGroups = [
"disk" "disk"
"gamemode" "gamemode"
"libvirtd"
"networkmanager" "networkmanager"
"qemu-libvirtd"
"tss" "tss"
"wheel" "wheel"
]; ];
@ -615,7 +628,7 @@
package = config.boot.kernelPackages.nvidiaPackages.beta; package = config.boot.kernelPackages.nvidiaPackages.beta;
modesetting.enable = true; modesetting.enable = true;
powerManagement.enable = false; powerManagement.enable = false;
open = true; open = false;
}; };
}; };
@ -626,8 +639,6 @@
config.common.default = "*"; config.common.default = "*";
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-cosmic
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
]; ];
}; };

File diff suppressed because it is too large Load diff