wow
Some checks failed
CI / check (push) Has been cancelled
CI / ida (push) Has been cancelled
CI / cpt (push) Has been cancelled
CI / build-nixos (ena) (push) Has been cancelled
CI / build-nixos (hako) (push) Has been cancelled
CI / build-nixos (kazusa) (push) Has been cancelled
CI / build-nixos (mizuki) (push) Has been cancelled

This commit is contained in:
암냥 2026-07-03 00:45:07 +09:00
commit bbac123a8d
144 changed files with 7059 additions and 0 deletions

View file

@ -0,0 +1,19 @@
{ pkgs, inputs, ... }:
let
system = pkgs.stdenv.hostPlatform.system;
pkgsPacketTracer8 = import inputs.nixpkgs-2511 {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [
"ciscoPacketTracer8-8.2.2"
];
};
};
in
{
home.packages = [
pkgs.cisco-packet-tracer_9
pkgsPacketTracer8.ciscoPacketTracer8
];
}

View file

@ -0,0 +1,34 @@
{
pkgs,
inputs,
lib,
options,
...
}:
{
imports = [ inputs.nixcord.homeModules.nixcord ];
# imports = [ inputs.nixcord.nixosModules.nixcord ];
programs.nixcord = {
enable = true;
discord = {
branch = "canary";
vencord.enable = false;
equicord.enable = true;
krisp.enable = true;
};
vesktop.enable = true;
# equibop.enable = true;
config.plugins = import ./plugin.nix;
};
home.packages = with pkgs; [
discord-gamesdk
];
# home.activation.krispPatch = lib.mkIf (!pkgs.stdenv.isDarwin) (
# lib.hm.dag.entryAfter [ "writeBoundary" ] ''
# ${krisp-patcher}/bin/krisp-patcher $(${pkgs.findutils}/bin/find $HOME/.config/discord/ -name "discord_krisp.node" -path "*/modules/discord_krisp/*") || true
# ''
# );
}

View file

@ -0,0 +1,23 @@
# darwin-configuration.nix
{ inputs, pkgs, ... }:
{
imports = [ inputs.nixcord.darwinModules.nixcord ];
programs.nixcord = {
enable = true;
user = "imnyang"; # Needed for system-level config
discord = {
package = pkgs.discord-canary;
vencord.enable = false;
equicord.enable = true;
# krisp.enable = true;
};
equibop.enable = true;
config.plugins = import ./plugin.nix;
};
environment.systemPackages = [ pkgs.discord-gamesdk ];
}

View file

@ -0,0 +1,69 @@
{
alwaysAnimate.enable = true;
alwaysExpandRoles.enable = true;
blurNsfw.enable = true;
callTimer = {
enable = true;
format = "human";
};
crashHandler.enable = true;
disableCallIdle.enable = true;
dontRoundMyTimestamps.enable = true;
fixCodeblockGap.enable = true;
fixImagesQuality.enable = true;
fixYoutubeEmbeds.enable = true;
forceOwnerCrown.enable = true;
messageLogger = {
enable = true;
};
clientSideBlock = {
enable = true;
hideBlockedUsers = true;
hideBlockedMessages = true;
hideEmptyRoles = false;
hideVc = true;
blockedReplyDisplay = "hideReply";
};
serverListIndicators.enable = true;
showTimeoutDuration.enable = true;
# silentTyping.enable = true;
textReplace.enable = true;
textReplace.regexRules = [
{
find = "https?:\\/\\/(www\\.)?instagram\\.com\\/[^\\/]+\\/(p|reel)\\/([A-Za-z0-9-_]+)\\/?";
replace = "https://g.ddinstagram.com/$2/$3";
}
{
find = "https:\\/\\/x\\.com\\/([^\\/]+\\/status\\/[0-9]+)";
replace = "https://fixupx.com/$1";
}
{
find = "https:\\/\\/twitter\\.com\\/([^\\/]+\\/status\\/[0-9]+)";
replace = "https://fixupx.com/$1";
}
{
find = "https:\\/\\/(www\\.|old\\.)?reddit\\.com\\/(r\\/[a-zA-Z0-9_]+\\/comments\\/[a-zA-Z0-9_]+\\/[^\\s]*)";
replace = "https://vxreddit.com/$2";
}
{
find = "https:\\/\\/(www\\.)?pixiv\\.net\\/(.*)";
replace = "https://phixiv.net/$2";
}
{
find = "https:\\/\\/(?:www\\.|m\\.)?twitch\\.tv\\/twitch\\/clip\\/(.*)";
replace = "https://clips.fxtwitch.tv/$1";
}
{
find = "https:\\/\\/(?:www\\.)?youtube\\.com\\/(?:watch\\?v=|shorts\\/)([a-zA-Z0-9_-]+)";
replace = "https://youtu.be/$1";
}
];
translate.enable = true;
typingIndicator.enable = true;
typingTweaks.enable = true;
userVoiceShow.enable = true;
validReply.enable = true;
validUser.enable = true;
volumeBooster.enable = true;
spotifyCrack.enable = true;
}

29
modules/home/firefox.nix Normal file
View file

@ -0,0 +1,29 @@
{ pkgs, config, ... }:
{
programs.firefox = {
enable = true;
configPath = ".mozilla/firefox";
package = pkgs.firefox-devedition;
policies = {
Preferences = {
"widget.use-xdg-desktop-portal.file-picker" = {
Value = 1;
Status = "default";
};
"middlemouse.paste" = {
Value = false;
Status = "default";
};
};
ExtensionSettings = {
"figma-windows-ua-spoofer@imnyang.local" = {
installation_mode = "force_installed";
install_url = "https://git.mizuki.guru/imnyang/thisiswindowsfigma/releases/download/v1.0.0/d168a70cb6a24fe4a478-1.0.0.xpi";
};
};
};
};
home.file.".waterfox/native-messaging-hosts".source =
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.mozilla/native-messaging-hosts";
}

49
modules/home/ghostty.nix Normal file
View file

@ -0,0 +1,49 @@
{pkgs, ...}: {
programs.ghostty = {
enable = true;
package = if pkgs.stdenv.isDarwin then pkgs.ghostty-bin else pkgs.ghostty;
enableFishIntegration = true;
settings = {
background = "#fcf8f9";
foreground = "#191017";
cursor-color = "#301d23";
selection-background = "#f4ecee";
selection-foreground = "#191017";
palette = [
"0=#5c5f77"
"1=#d20f39"
"2=#40a02b"
"3=#df8e1d"
"4=#1e66f5"
"5=#ea76cb"
"6=#179299"
"7=#acb0be"
"8=#6c6f85"
"9=#d20f39"
"10=#40a02b"
"11=#df8e1d"
"12=#1e66f5"
"13=#ea76cb"
"14=#179299"
"15=#bcc0cc"
];
window-colorspace = "srgb";
window-theme = "ghostty";
window-subtitle = "working-directory";
font-family = "JetBrainsMono NFM Regular";
font-family-bold = "JetBrainsMono NFM Bold";
font-family-italic = "JetBrainsMono NFM Bold Italic";
font-family-bold-italic = "JetBrainsMono NFM Italic";
window-width = 100;
window-height = 30;
auto-update = "off";
};
};
}

26
modules/home/git.nix Normal file
View file

@ -0,0 +1,26 @@
{ pkgs, ... }:
{
programs.git = {
enable = true;
settings = {
user = {
name = "imnyang";
email = "imnyang@pm.me";
signingkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHP3Z+AYrRh9f8TYyqChKfeyNm3lOe0F75AwRHTTaxD";
};
gpg = {
format = "ssh";
"ssh".program = "${pkgs._1password-gui}/bin/op-ssh-sign";
};
commit.gpgsign = true;
init.defaultBranch = "main";
pull.rebase = false;
includeIf."gitdir:~/workspaces/git/adofai.gg/" = {
path = builtins.toFile "gitconfig-adofaigg" ''
[user]
email = imnyang@adofai.gg
'';
};
};
};
}

23
modules/home/neovim.nix Normal file
View file

@ -0,0 +1,23 @@
{
pkgs,
config,
lib,
...
}:
{
programs.neovim = {
enable = true;
withRuby = true;
withPython3 = true;
viAlias = true;
vimAlias = true;
};
home.activation.nvimConfigRepo = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
target="${config.xdg.configHome}/nvim"
rm -rf "$target"
${pkgs.git}/bin/git clone https://git.pari.ng/imnyang/nvim-config.git "$target"
'';
}

View file

@ -0,0 +1,28 @@
{ pkgs, ... }:
let
obs-wrapped = (pkgs.obs-studio.override {
cudaSupport = true;
}).overrideAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ pkgs.makeWrapper ];
postInstall = (old.postInstall or "") + ''
wrapProgram $out/bin/obs \
--set QT_QPA_PLATFORM xcb \
--set GS_DEVICE_TYPE opengl
'';
});
in
{
programs.obs-studio = {
enable = true;
package = obs-wrapped;
plugins = with pkgs.obs-studio-plugins; [
obs-backgroundremoval
obs-pipewire-audio-capture
obs-vaapi
obs-gstreamer
obs-vkcapture
obs-move-transition
];
};
}

103
modules/home/packages.nix Normal file
View file

@ -0,0 +1,103 @@
{
pkgs,
inputs,
}:
with pkgs;
[
nodejs
pnpm
yarn
python3
rustc
cargo
go
bun
virtualbox
bibata-cursors
xcursor-mizuki
pjsk-cursor.n25.ani
zed-editor
jetbrains.datagrip
# jetbrains.rider
jetbrains.idea
# inputs.vscode-nigo.packages.${stdenv.hostPlatform.system}.vscode-nigo
neovide
ripgrep
fd
bat
fzf
jq
fastfetch
eza
btop
gh
lazygit
thunderbird
mpv
prismlauncher
lunar-client
pkgs."libreoffice-fresh"
gimp
inkscape
gnome-disk-utility
antigravity
postman
burpsuite
krita
scrcpy
upscayl
signal-desktop
witr
vial
wireguard-go
corretto21
ghostty
remmina
codex
# waterfox-bin
unityhub
ida-free
(ghidra.withExtensions (
p: with p; [
ret-sync
ghidraninja-ghidra-scripts
]
))
inputs.notion-desktop.packages.${stdenv.hostPlatform.system}.default
inputs.notion-calendar-electron.packages.${stdenv.hostPlatform.system}.default
inputs.codex-app.packages.${stdenv.buildPlatform.system}.codex-desktop
proton-vpn
moonlight-qt
code-cursor
microsoft-edge
galaxy-buds-client
# another
]

38
modules/home/plasma.nix Normal file
View file

@ -0,0 +1,38 @@
{ inputs, ... }:
let
assets = "${inputs.self}/assets";
genericFonts = {
family = "Pretendard JP";
pointSize = 10;
};
in
{
home.file.".local/share/color-schemes/Kawa.colors".source = "${assets}/Kawa.colors";
home.file.".config/autostart/1password.desktop".source = "${assets}/1password.desktop";
programs.plasma = {
enable = true;
workspace = {
clickItemTo = "select";
enableMiddleClickPaste = false;
colorScheme = "Kawa";
};
fonts = {
fixedWidth = {
family = "NanumGothicCoding";
pointSize = 10;
};
general = genericFonts;
toolbar = genericFonts;
menu = genericFonts;
windowTitle = genericFonts;
small = genericFonts // {
pointSize = 8;
};
};
session.sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession";
};
}

View file

@ -0,0 +1,17 @@
{ config, pkgs, inputs, ... }:
{
programs.spicetify = let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in{
enable = true;
# Theme: catppuccin with mocha palette
theme = spicePkgs.themes.catppuccin;
colorScheme = "latte";
enabledExtensions = with spicePkgs.extensions; [
adblockify
hidePodcasts
];
};
}

38
modules/home/vicinae.nix Normal file
View file

@ -0,0 +1,38 @@
{ pkgs, inputs, ... }: {
programs.vicinae = {
enable = true; # default: false
systemd = {
enable = true; # default: false
autoStart = true; # default: false
environment = {
USE_LAYER_SHELL = 1;
};
};
settings = {
close_on_focus_loss = true;
consider_preedit = true;
launcher_window = {
opacity = 0.98;
};
font = {
normal = {
size = 10;
family = "SUIT";
};
};
};
extensions = with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [
bluetooth
nix
power-profile
kde-system-settings
npm
port-killer
pulseaudio
case-converter
zed-recents
vscode-recents
timer
];
};
}

51
modules/home/vscode.nix Normal file
View file

@ -0,0 +1,51 @@
{ pkgs, ... }:
let
styleScript = pkgs.writeText "inject.js" ''
;(() => {
const el = document.createElement('style')
el.innerText = `
.part.editor>.content .editor-group-container .editor-group-watermark .letterpress {
background-image: url("https://file.mizuki.guru/.tesiotjosaeifjpoeawsjfnpoiawsejfopieawjfopjakweopfjawieof/IN_VISUAL_STUDIO_CODE.webp") !important;
opacity: 1.0;
overflow: visible;
filter: none;
aspect-ratio: 16 / 9 !important;
max-height: fit-content !important;
}
`
document.head.appendChild(el)
})();
'';
in
{
programs.vscode = {
enable = true;
mutableExtensionsDir = true;
userSettings = {
"extensions.autoUpdate" = true;
};
package = (pkgs.vscode.override { isInsiders = true; }).overrideAttrs (oldAttrs: {
version = "latest";
src = builtins.fetchTarball {
url = "https://code.visualstudio.com/sha/download?build=insider&os=linux-x64";
sha256 = "1vzf897inlzxfwmnaykkj3gqg18wbh9zhv7lnh3if6agixv0v91b";
};
buildInputs = oldAttrs.buildInputs ++ [
pkgs.krb5
pkgs.libsoup_3
pkgs.webkitgtk_4_1
pkgs.libxtst
pkgs.libjpeg8
pkgs.pipewire
pkgs.libei
];
postFixup = ''
cat ${styleScript} >> $out/lib/vscode/resources/app/out/vs/code/electron-browser/workbench/workbench.js
''
+ (oldAttrs.postFixup or "");
});
};
}

75
modules/home/zed.nix Normal file
View file

@ -0,0 +1,75 @@
{ pkgs, ... }:
{
programs.zed-editor = {
enable = true;
package = if pkgs.stdenv.isDarwin then null else pkgs.zed-editor;
extensions = [
"nix"
"toml"
"rust"
"git-firefly"
];
userSettings = {
"autosave" = "on_focus_change";
"ui_font_size" = 16;
"buffer_font_size" = 15;
"theme" = {
"mode" = "light";
"light" = "One Light";
"dark" = "One Dark";
};
"theme_overrides" = {
"One Light" = {
"background" = "#FDF7F9";
"status_bar.background" = "#FDF7F9";
"title_bar.background" = "#FDF7F9";
"elevated_surface.background" = "#FDF7F9";
# 핵심: sidebar/project panel 쪽은 투명 제거
"surface.background" = "#FDF7F9";
"panel.background" = "#FDF7F9";
"editor.gutter.background" = "#FDF7F9";
"tab_bar.background" = "#FDF7F9";
"toolbar.background" = "#FDF7F9";
"terminal.background" = "#FDF7F9";
# editor만 투명 유지하고 싶으면 이건 남겨도 됨
"editor.background" = "#00000000";
"editor.line_number" = "#A38F96";
"border" = "#F2E6EA";
"hint.background" = "#F7EBEE";
"editor.active_line_number" = "#191013";
"tab.active_background" = "#8165701a";
"element.selected" = "#8165701a";
"tab.inactive_background" = "#FDF7F9";
"editor.indent_guide" = "#F2E6EA";
"editor.indent_guide_active" = "#E6D5DB";
"panel.indent_guide" = "#F2E6EA";
"panel.indent_guide_hover" = "#E6D5DB";
"panel.indent_guide_active" = "#D9C4CC";
"panel.focused_border" = "#00000000";
"element.active" = "#81657029";
"border.variant" = "#00000000";
"scrollbar.track.border" = "#00000000";
"editor.active_line.background" = "#8165700f";
"scrollbar.track.background" = "#00000000";
"scrollbar.thumb.background" = "#A38F9680";
"ghost_element.background" = "#00000000";
"element.hover" = "#8165700f";
"ghost_element.hover" = "#8165700f";
"ghost_element.active" = "#8165701a";
"ghost_element.selected" = "#81657024";
"drop_target.background" = "#8165701a";
"editor.highlighted_line.background" = "#8165701a";
};
};
};
};
}