This commit is contained in:
zack 2024-12-16 16:39:20 -05:00
parent e4da7e87fe
commit ed77ae6e6b
No known key found for this signature in database
GPG key ID: 5F873416BCF59F35
18 changed files with 800 additions and 583 deletions

View file

@ -1 +0,0 @@
Ptmux;_Gd=a,a=d,q=2\\

1113
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -21,10 +21,10 @@
emacs-overlay.url = "github:nix-community/emacs-overlay"; emacs-overlay.url = "github:nix-community/emacs-overlay";
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; awsvpnclient.url = "github:ymatsiuk/awsvpnclient";
resume.url = "git+https://git.zoeys.cloud/zoey/resume"; resume.url = "git+https://git.zoeys.cloud/zoey/resume";
anyrun.url = "github:anyrun-org/anyrun/a808e6d801d9e216a0c077a003fba22cfc3a1990"; anyrun.url = "github:anyrun-org/anyrun";
anyrun.inputs.nixpkgs.follows = "nixpkgs"; anyrun.inputs.nixpkgs.follows = "nixpkgs";
ags.url = "github:Aylur/ags/v1"; ags.url = "github:Aylur/ags/v1";
ags.inputs.nixpkgs.follows = "nixpkgs"; ags.inputs.nixpkgs.follows = "nixpkgs";
@ -49,7 +49,7 @@
blog.url = "git+https://git.zoeys.cloud/zoey/web"; blog.url = "git+https://git.zoeys.cloud/zoey/web";
lanzaboote = { lanzaboote = {
url = "github:nix-community/lanzaboote/v0.3.0"; url = "github:nix-community/lanzaboote/v0.4.1";
# Optional but recommended to limit the size of your system closure. # Optional but recommended to limit the size of your system closure.
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -120,6 +120,8 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
g2claude.url = "git+https://git.zoeys.cloud/zoey/g2claude.git";
rust-overlay = { rust-overlay = {
url = "github:oxalica/rust-overlay"; url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -135,7 +137,17 @@
inherit inputs; inherit inputs;
src = ./.; src = ./.;
overlays = [inputs.rust-overlay.overlays.default]; overlays = [
inputs.rust-overlay.overlays.default
(final: prev: {
awsvpnclient =
inputs
.awsvpnclient
.packages
."x86_64-linux"
.awsvpnclient;
})
];
snowfall = { snowfall = {
namespace = "custom"; namespace = "custom";

View file

@ -83,11 +83,15 @@
pkgs.obs-studio pkgs.obs-studio
pkgs.ungoogled-chromium pkgs.ungoogled-chromium
pkgs.uutils-coreutils-noprefix
pkgs.yazi
pkgs.thunderbird pkgs.thunderbird
pkgs.custom.enc pkgs.custom.enc
pkgs.nix-tree
pkgs.mongodb-compass pkgs.mongodb-compass
pkgs.postman pkgs.postman
pkgs.mosh pkgs.mosh
@ -108,6 +112,8 @@
pkgs.nix-output-monitor pkgs.nix-output-monitor
pkgs.fastfetch pkgs.fastfetch
# inputs.g2claude.packages.${pkgs.system}.default
pkgs.signal-desktop pkgs.signal-desktop
pkgs.nh pkgs.nh
@ -125,7 +131,6 @@
lib.custom.pkgs-unstable.rmpc lib.custom.pkgs-unstable.rmpc
pkgs.custom.zen-browser pkgs.custom.zen-browser
pkgs.mpc-cli pkgs.mpc-cli
pkgs.openvpn pkgs.openvpn
@ -196,7 +201,7 @@
WantedBy = ["default.target"]; WantedBy = ["default.target"];
}; };
Service = { Service = {
ExecStart = "${inputs.kb-gui.packages.${pkgs.system}.kb}/bin/kb"; ExecStart = "${inputs.kb-gui.packages.${pkgs.system}.default}/bin/kb";
}; };
}; };
} }

View file

@ -21,19 +21,19 @@ with lib.custom; let
ripgrep ripgrep
util-linux util-linux
gtksourceview gtksourceview
webkitgtk webkitgtk_4_1
brightnessctl brightnessctl
gvfs gvfs
accountsservice accountsservice
swww swww
gnome.gnome-control-center gnome-control-center
gnome.nautilus nautilus
gnome.totem totem
loupe loupe
]; ];
guiDeps = with pkgs; [ guiDeps = with pkgs; [
gnome.gnome-control-center gnome-control-center
overskride overskride
wlogout wlogout
]; ];

View file

@ -13,6 +13,7 @@
"lazyvim.plugins.extras.lang.java", "lazyvim.plugins.extras.lang.java",
"lazyvim.plugins.extras.lang.toml", "lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.clangd",
"lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.nix", "lazyvim.plugins.extras.lang.nix",
"lazyvim.plugins.extras.lang.sql", "lazyvim.plugins.extras.lang.sql",
@ -26,8 +27,7 @@
"lazyvim.plugins.extras.util.dot", "lazyvim.plugins.extras.util.dot",
"lazyvim.plugins.extras.util.mini-hipatterns", "lazyvim.plugins.extras.util.mini-hipatterns",
"lazyvim.plugins.extras.coding.luasnip", "lazyvim.plugins.extras.coding.luasnip",
"lazyvim.plugins.extras.coding.blink", "lazyvim.plugins.extras.coding.blink"
"lazyvim.plugins.extras.ai.supermaven"
], ],
"news": { "news": {
"NEWS.md": "6520" "NEWS.md": "6520"

View file

@ -6,3 +6,6 @@ if vim.g.neovide then
-- Put anything you want to happen only in Neovide here -- Put anything you want to happen only in Neovide here
vim.o.guifont = "Iosevka,Noto_Color_Emoji:h14:b" vim.o.guifont = "Iosevka,Noto_Color_Emoji:h14:b"
end end
-- in this case.
-- vim.g.lazyvim_blink_main = true

View file

@ -6,6 +6,12 @@ return {
news = { lazyvim = false }, news = { lazyvim = false },
}, },
}, },
{
"catppuccin",
opts = { transparent_background = true, integrations = {
blink_cmp = true,
} },
},
"f-person/git-blame.nvim", "f-person/git-blame.nvim",
{ "nvim-lualine/lualine.nvim", enabled = false }, { "nvim-lualine/lualine.nvim", enabled = false },
{ "echasnovski/mini.statusline", opts = {} }, { "echasnovski/mini.statusline", opts = {} },
@ -25,7 +31,7 @@ return {
{ {
"saghen/blink.cmp", "saghen/blink.cmp",
opts = { opts = {
nerd_font_variant = "normal", nerd_font_variant = "mono",
}, },
}, },
{ {
@ -38,6 +44,20 @@ return {
"sphamba/smear-cursor.nvim", "sphamba/smear-cursor.nvim",
opts = {}, opts = {},
}, },
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
keys = {
{
"<leader>z",
function()
Snacks.zen()
end,
desc = "Toggle Zen Mode",
},
},
},
{ {
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",
main = "ibl", main = "ibl",

View file

@ -0,0 +1,43 @@
return {
"sethen/line-number-change-mode.nvim",
config = function()
require("catppuccin").setup({
flavour = "mocha",
})
local palette = require("catppuccin.palettes").get_palette("mocha")
if palette == nil then
return nil
end
require("line-number-change-mode").setup({
mode = {
i = {
bg = palette.green,
fg = palette.mantle,
bold = true,
},
n = {
bg = palette.blue,
fg = palette.mantle,
bold = true,
},
R = {
bg = palette.maroon,
fg = palette.mantle,
bold = true,
},
v = {
bg = palette.mauve,
fg = palette.mantle,
bold = true,
},
V = {
bg = palette.mauve,
fg = palette.mantle,
bold = true,
},
},
})
end,
}

View file

@ -0,0 +1,4 @@
return {
"echasnovski/mini.ai",
version = false,
}

View file

@ -0,0 +1,5 @@
return {
"marcussimonsen/let-it-snow.nvim",
cmd = "LetItSnow", -- Wait with loading until command is run
opts = {},
}

View file

@ -0,0 +1,8 @@
return {
"gbprod/substitute.nvim",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
},
}

View file

@ -56,7 +56,7 @@ in {
lua-language-server lua-language-server
nixd nixd
(pkgs.rust-bin.selectLatestNightlyWith (pkgs.rust-bin.selectLatestNightlyWith
(toolchain: toolchain.minimal)) (toolchain: toolchain.default))
rust-analyzer rust-analyzer
vscode-langservers-extracted vscode-langservers-extracted
nodePackages.vscode-json-languageserver nodePackages.vscode-json-languageserver

View file

@ -24,7 +24,7 @@ in {
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
FLAKE = "/home/zoey/nixos/"; FLAKE = "/home/zoey/nixos/";
}; };
enableAutosuggestions = true; # zprof.enable = true;
history = { history = {
save = 2137; save = 2137;
size = 2137; size = 2137;
@ -39,10 +39,9 @@ in {
"${zsh-history}/share/zsh/init.zsh" "${zsh-history}/share/zsh/init.zsh"
"${zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh" "${zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh"
"${zsh-f-sy-h}/share/zsh/site-functions/F-Sy-H.plugin.zsh" "${zsh-f-sy-h}/share/zsh/site-functions/F-Sy-H.plugin.zsh"
# "${zsh-autocomplete}/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh"
"${zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh" "${zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh"
"${zsh-navigation-tools}/share/zsh/site-functions/zsh-navigation-tools.plugin.zsh" "${zsh-navigation-tools}/share/zsh/site-functions/zsh-navigation-tools.plugin.zsh"
"${oh-my-zsh}/share/oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh" "${zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
]; ];
source = map (source: "source ${source}") sources; source = map (source: "source ${source}") sources;
@ -52,6 +51,7 @@ in {
] ]
++ source); ++ source);
in '' in ''
${plugins} ${plugins}
export NIX_LD=$(nix eval --impure --raw --expr 'let pkgs = import <nixpkgs> {}; NIX_LD = pkgs.lib.fileContents "${pkgs.stdenv.cc}/nix-support/dynamic-linker"; in NIX_LD') export NIX_LD=$(nix eval --impure --raw --expr 'let pkgs = import <nixpkgs> {}; NIX_LD = pkgs.lib.fileContents "${pkgs.stdenv.cc}/nix-support/dynamic-linker"; in NIX_LD')
@ -60,28 +60,13 @@ in {
bindkey "^[[1;5D" backward-word bindkey "^[[1;5D" backward-word
''; '';
plugins = [ # oh my zsh
{ oh-my-zsh = {
name = "zsh-tmux"; enable = true;
file = "zsh-tmux.plugin.zsh"; plugins = [
src = pkgs.fetchFromGitHub { "colored-man-pages"
owner = "laggardkernel"; ];
repo = "zsh-tmux"; };
rev = "v1.1.0";
sha256 = "sha256-BB9L84HjUnV1OUIp2U2lHYHEg5q4p/TgqLcsCvInkC8=";
};
}
{
name = "zsh-autocomplete";
file = "zsh-autocomplete.plugin.zsh";
src = pkgs.fetchFromGitHub {
owner = "marlonrichert";
repo = "zsh-autocomplete";
rev = "008caaea55780dd2b55f119d6880c5b89e5e4bb2";
sha256 = "sha256-jibIHwT/oVQUSxVrT0SGFSMu1N05szPyHZ4Qc7v6Ntc=";
};
}
];
dirHashes = { dirHashes = {
music = "$HOME/Music"; music = "$HOME/Music";

View file

@ -99,7 +99,7 @@ in {
"${mod},X,exec, ags --toggle-window \"dashboard\"" "${mod},X,exec, ags --toggle-window \"dashboard\""
"${mod},Print,exec,${lib.getExe pkgs.custom.sc}" "${mod},Print,exec,${lib.getExe pkgs.custom.sc}"
"${mod},Shift&Print,exec,${lib.getExe pkgs.wf-recorder} -g \"$(${lib.getExe pkgs.slurp})\" -f out.mp4" "${mod},Shift&Print,exec,\"${lib.getExe pkgs.grim} -g ${lib.getExe pkgs.slurp} | wl-copy\""
"${modshift},O,exec,wl-ocr" "${modshift},O,exec,wl-ocr"
"${mod},Period,exec, tofi-emoji" "${mod},Period,exec, tofi-emoji"

View file

@ -48,7 +48,9 @@ in {
noto-fonts-cjk-sans noto-fonts-cjk-sans
noto-fonts-emoji noto-fonts-emoji
jetbrains-mono jetbrains-mono
(nerdfonts.override {fonts = ["Iosevka" "JetBrainsMono"];}) nerd-fonts.iosevka
nerd-fonts.zed-mono
# (nerdfonts.override {fonts = ["ZedMono" "Iosevka"];})
]; ];
enableDefaultPackages = false; enableDefaultPackages = false;
@ -57,11 +59,12 @@ in {
fontconfig = { fontconfig = {
defaultFonts = { defaultFonts = {
monospace = [ monospace = [
"Iosevka Font Mono" # "ZedMono Nerd Font Mono"
"Iosevka Nerd Font Mono"
"Iosevka" "Iosevka"
"Noto Color Emoji" "Noto Color Emoji"
]; ];
sansSerif = ["Iosevka" "Noto Color Emoji"]; sansSerif = ["Inter" "Noto Color Emoji"];
serif = ["Noto Serif" "Noto Color Emoji"]; serif = ["Noto Serif" "Noto Color Emoji"];
emoji = ["Noto Color Emoji"]; emoji = ["Noto Color Emoji"];
}; };

View file

@ -1,20 +1,3 @@
# pname = "zen-browser-unwrapped";
# version = "715b6df2fb8171336adc8712668a5e8458f7749b";
#
# src = fetchFromGitHub {
# owner = "zen-browser";
# repo = "desktop";
# rev = "${version}";
# leaveDotGit = true;
# fetchSubmodules = true;
# hash = "sha256-0+x2XoZyMdzP1beJvUSeM/QnFyQ+FSuGIatHh1mtBaw=";
# };
#
# firefoxVersion = (lib.importJSON "${src}/surfer.json").version.version;
# firefoxSrc = fetchurl {
# url = "mirror://mozilla/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.xz";
# hash = "sha256-XAMbVywdpyZnfi/5e2rVp+OyM4em/DljORy1YvgKXkg=";
# };
{ {
buildNpmPackage, buildNpmPackage,
buildPackages, buildPackages,
@ -170,13 +153,13 @@
in in
buildStdenv.mkDerivation (finalAttrs: { buildStdenv.mkDerivation (finalAttrs: {
pname = "zen-browser-unwrapped"; pname = "zen-browser-unwrapped";
version = "1.0.1-t.20"; version = "1.0.2-b.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zen-browser"; owner = "zen-browser";
repo = "desktop"; repo = "desktop";
rev = "113a349b56e039a9a98e53a29f38b70c3a6a3ff6"; rev = "df4ea8794f957c8e409adef9b2c3325be710c626";
hash = "sha256-XBncRNX28hiq953yr7j6seD/HLluzmqbtTncE6fDa30="; hash = "sha256-vPe/hTJozJdCbq5GK87MGBh+Nybs8et+6ukm0Fdz3uA=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -186,10 +169,10 @@ in
# The Firefox version is specified by `zen-browser` in the `surfer.json` file. # The Firefox version is specified by `zen-browser` in the `surfer.json` file.
# #
# We need to manually set the version here to avoid IFD. # We need to manually set the version here to avoid IFD.
firefoxVersion = "132.0.2"; firefoxVersion = "133.0.3";
firefoxSrc = fetchurl { firefoxSrc = fetchurl {
url = "mirror://mozilla/firefox/releases/${finalAttrs.firefoxVersion}/source/firefox-${finalAttrs.firefoxVersion}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${finalAttrs.firefoxVersion}/source/firefox-${finalAttrs.firefoxVersion}.source.tar.xz";
hash = "sha256-Mp4XZPS04T8R3PH9ezxtj4DlEui37Vv2X75EdJwmEOk="; hash = "sha256-8TSlQgIAuwOrRg+dKGdQfA7bIiznP69AZM2+oCoKyhs=";
}; };
SURFER_COMPAT = generic; SURFER_COMPAT = generic;
@ -305,8 +288,6 @@ in
"--with-wasi-sysroot=${wasiSysRoot}" "--with-wasi-sysroot=${wasiSysRoot}"
"--host=${buildStdenv.buildPlatform.config}" "--host=${buildStdenv.buildPlatform.config}"
"--target=${buildStdenv.hostPlatform.config}" "--target=${buildStdenv.hostPlatform.config}"
]
++ [
(lib.enableFeature alsaSupport "alsa") (lib.enableFeature alsaSupport "alsa")
(lib.enableFeature ffmpegSupport "ffmpeg") (lib.enableFeature ffmpegSupport "ffmpeg")
(lib.enableFeature geolocationSupport "necko-wifi") (lib.enableFeature geolocationSupport "necko-wifi")
@ -320,13 +301,39 @@ in
# of RAM, and the 32-bit memory space cannot handle that linking # of RAM, and the 32-bit memory space cannot handle that linking
(lib.enableFeature (!debugBuild && !stdenv.hostPlatform.is32bit) "release") (lib.enableFeature (!debugBuild && !stdenv.hostPlatform.is32bit) "release")
(lib.enableFeature enableDebugSymbols "debug-symbols") (lib.enableFeature enableDebugSymbols "debug-symbols")
]; ]
++ lib.optional stdenv.hostPlatform.isAarch "--disable-wasm-avx";
configureScript = writeShellScript "configureMozconfig" '' configureScript = writeShellScript "configureMozconfig" (
for flag in $@; do (lib.optionalString stdenv.hostPlatform.isAarch ''
echo "ac_add_options $flag" >> mozconfig echo "ac_add_options --with-libclang-path=/usr/lib64" >> ./configs/linux/mozconfig
done
''; # linux mozconfig
sed -i 's/x86-\(64\|64-v3\)/native/g' ./configs/linux/mozconfig
sed -i 's/x86_64-pc-linux/aarch64-linux-gnu/g' ./configs/linux/mozconfig
# eme/widevine must be disabled on arm64 (thx google)
sed -i '/--enable-eme/s/^/# /' ./configs/common/mozconfig
sed -i 's/-msse3//g' ./configs/linux/mozconfig
sed -i 's/-mssse3//g' ./configs/linux/mozconfig
sed -i 's/-msse4.1//g' ./configs/linux/mozconfig
sed -i 's/-msse4.2//g' ./configs/linux/mozconfig
sed -i 's/-mavx2//g' ./configs/linux/mozconfig
sed -i 's/-mavx//g' ./configs/linux/mozconfig
sed -i 's/-mfma//g' ./configs/linux/mozconfig
sed -i 's/-maes//g' ./configs/linux/mozconfig
sed -i 's/-mpopcnt//g' ./configs/linux/mozconfig
sed -i 's/-mpclmul//g' ./configs/linux/mozconfig
sed -i 's/+avx2//g' ./configs/linux/mozconfig
sed -i 's/+sse4.1//g' ./configs/linux/mozconfig
'')
+ ''
for flag in $@; do
echo "ac_add_options $flag" >> mozconfig
done
''
);
# To the person reading this wondering what is going on here, this is what # To the person reading this wondering what is going on here, this is what
# happens when a build process relies on Git. Normally you would use `fetchgit` # happens when a build process relies on Git. Normally you would use `fetchgit`
@ -339,22 +346,9 @@ in
export HOME="$TMPDIR" export HOME="$TMPDIR"
git config --global user.email "nixbld@localhost" git config --global user.email "nixbld@localhost"
git config --global user.name "nixbld" git config --global user.name "nixbld"
# Initialize git repo and handle submodules properly
git init git init
git config --global init.defaultBranch main git add --all
git commit -m 'nixpkgs'
# Force add all files including submodules
git add -A -f
# Initialize and update submodules if they exist
if [ -f .gitmodules ]; then
git submodule init
git submodule update --init --recursive
fi
# Commit all changes including submodule state
git commit -m 'nixpkgs' -a --allow-empty
export LLVM_PROFDATA=llvm-profdata export LLVM_PROFDATA=llvm-profdata
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
@ -362,7 +356,7 @@ in
export WASM_CXX=${wasi32.stdenv.cc}/bin/${wasi32.stdenv.cc.targetPrefix}c++ export WASM_CXX=${wasi32.stdenv.cc}/bin/${wasi32.stdenv.cc.targetPrefix}c++
export ZEN_RELEASE=1 export ZEN_RELEASE=1
surfer ci --brand alpha --display-version ${finalAttrs.version} surfer ci --brand beta --display-version ${finalAttrs.version}
install -D ${finalAttrs.firefoxSrc} .surfer/engine/firefox-${finalAttrs.firefoxVersion}.source.tar.xz install -D ${finalAttrs.firefoxSrc} .surfer/engine/firefox-${finalAttrs.firefoxVersion}.source.tar.xz
surfer download surfer download
@ -408,7 +402,10 @@ in
matthewpi matthewpi
titaniumtown titaniumtown
]; ];
platforms = ["x86_64-linux"]; platforms = [
"aarch64-linux"
"x86_64-linux"
];
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -28,7 +28,6 @@
hardware.audio.enable = true; hardware.audio.enable = true;
hardware.nvidia.enable = true; hardware.nvidia.enable = true;
hardware.keyboard.qmk.enable = true; hardware.keyboard.qmk.enable = true;
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
programs.steam.enable = true; programs.steam.enable = true;
@ -94,7 +93,6 @@
time.timeZone = "America/Detroit"; time.timeZone = "America/Detroit";
environment.systemPackages = [ environment.systemPackages = [
pkgs.BeatSaberModManager
pkgs.sbctl pkgs.sbctl
pkgs.vesktop pkgs.vesktop
pkgs.mangohud pkgs.mangohud